From 206a832f21f7b28f32127812da5ea764f8dd2644 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 16 Nov 2008 02:41:04 -0600 Subject: Shell $(netcat) won't return unless child's stdin/stdout/stderr are closed. --- toys/netcat.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/toys/netcat.c b/toys/netcat.c index e1cfc07f..0ed2a36a 100644 --- a/toys/netcat.c +++ b/toys/netcat.c @@ -149,8 +149,12 @@ void netcat_main(void) } // Do we need to return immediately because -l has arguments? - if ((toys.optflags&FLAG_l) && toys.optc) + if ((toys.optflags&FLAG_l) && toys.optc) { if (fork()) goto cleanup; + close(0); + close(1); + close(2); + } for (;;) { pid_t child = 0; -- cgit v1.2.3