commit 65a34c7fac1524cb3f40189f1bff8c3226d80710 from: Russ Cox date: Tue Jan 06 22:42:41 2009 UTC win: better SIGPIPE handling commit - e465991ea6c7d2b9f52cabf398b9b087a0b25427 commit + 65a34c7fac1524cb3f40189f1bff8c3226d80710 blob - 77bfe878aece6fe87572961af7faf6f962b55061 blob + 6d4349ba8918a37f13a734f565effd00a4a6eb58 --- src/cmd/9term/win.c +++ src/cmd/9term/win.c @@ -93,15 +93,6 @@ usage(void) threadexitsall("usage"); } -int -nopipes(void *v, char *msg) -{ - USED(v); - if(strcmp(msg, "sys: write on closed pipe") == 0) - return 1; - return 0; -} - void waitthread(void *v) { @@ -157,7 +148,15 @@ threadmain(int argc, char **argv) } } - notedisable("sys: write on closed pipe"); + /* + * notedisable("sys: write on closed pipe"); + * not okay to disable the note, because that + * gets inherited by the subshell, so that something + * as simple as "yes | sed 10q" never exits. + * call notifyoff instead. (is notedisable ever safe?) + */ + notifyoff("sys: write on closed pipe"); + noteenable("sys: child"); notify(hangupnote);