From 65a34c7fac1524cb3f40189f1bff8c3226d80710 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 6 Jan 2009 14:42:41 -0800 Subject: win: better SIGPIPE handling --- src/cmd/9term/win.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/cmd/9term') diff --git a/src/cmd/9term/win.c b/src/cmd/9term/win.c index 77bfe878..6d4349ba 100644 --- a/src/cmd/9term/win.c +++ b/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); -- cgit v1.2.3