win fixes

- don't exit from a "child" note unless rc exited (code copied from 9term.c)
- ignore writes to the tag; specifically " Send Noscroll" at startup.

R=rsc
CC=codebot
http://codereview.appspot.com/181115
This commit is contained in:
Fazlul Shahriar 2010-01-05 14:31:27 -08:00 committed by Russ Cox
parent 7d9c0f0f0e
commit 6a6c2663bf

View file

@ -108,8 +108,16 @@ hangupnote(void *a, char *msg)
noted(NDFLT);
}
if(strstr(msg, "child")){
/* bug: do better */
threadexitsall(0);
char buf[128];
int n;
n = awaitnohang(buf, sizeof buf-1);
if(n > 0){
buf[n] = 0;
if(atoi(buf) == pid)
threadexitsall(0);
}
noted(NCONT);
}
noted(NDFLT);
}
@ -357,10 +365,22 @@ stdinproc(void *v)
print("unknown message %c%c\n", e.c1, e.c2);
break;
case 'E': /* write to body; can't affect us */
if(debug)
fprint(2, "shift typing %d... ", e.q1-e.q0);
q.p += e.q1-e.q0;
case 'E': /* write to body or tag; can't affect us */
switch(e.c2){
case 'I':
case 'D': /* body */
if(debug)
fprint(2, "shift typing %d... ", e.q1-e.q0);
q.p += e.q1-e.q0;
break;
case 'i':
case 'd': /* tag */
break;
default:
goto Unknown;
}
break;
case 'F': /* generated by our actions; ignore */