Index: /trunk/ccl/level-1/linux-files.lisp
===================================================================
--- /trunk/ccl/level-1/linux-files.lisp	(revision 828)
+++ /trunk/ccl/level-1/linux-files.lisp	(revision 829)
@@ -667,7 +667,9 @@
                   (declare (dynamic-extent string))
                   (%copy-ptr-to-ivector buf 0 string 0 n)
-                  (write-sequence string out-stream :end n)))))))
-        (sleep 1))
-      (let* ((statusflags (check-pid (external-process-pid p)))
+                  (write-sequence string out-stream :end n))))))))
+      (let* ((statusflags (check-pid (external-process-pid p)
+                                     (logior
+                                      (if in-fd #$WNOHANG 0)
+                                      #$WUNTRACED)))
              (oldstatus (external-process-%status p)))
         (cond ((null statusflags)
