Commit Diff


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);