I have some difficulties with RUN-PROGRAM. It sometimes hangs when using the :output :stream key parameter. I thought I had it traced down to when a program only has output on stderr and not on stdout, but that is not quite right either:
4976 [EMAIL PROTECTED]:~/src/lisp> lisp -noinit CMU Common Lisp 19a, running on nex With core: /usr/opt/cmucl/lib/cmucl/lib/lisp.core Dumped on: Wed, 2004-07-28 18:51:48+02:00 on lorien See <http://www.cons.org/cmucl/> for support information. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/04/14 03:32:47 * (run-program "ls" '() :output :stream) #<process 24161 :EXITED> * (run-program "ls" '("-l") :output :stream) ; This hangs Interrupted at #x40104D3E. [Condition of type SIMPLE-CONDITION] Restarts: 0: [CONTINUE] Return from BREAK. 1: [ABORT ] Return to Top-Level. Debug (type H for help) (UNIX::SIGINT-HANDLER #<unused-arg> #<unused-arg> #.(SYSTEM:INT-SAP #x3FFFC828)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] 1 * (run-program "ls" '("-h") :output :stream) #<process 24164 :EXITED> * (run-program "ls" '("-h") :output :stream) #<process 24165 :EXITED> * (run-program "ls" '("-h") :output :stream) #<process 24166 :EXITED> * (run-program "ls" '("-l") :output :stream) ; This hangs again Interrupted at #x40104D3E. [Condition of type SIMPLE-CONDITION] [...] At the places where I interrupt it, it is because it hangs, and nothing happens. What is really strange is that giving -h or -1 (one) as arguments seem to work, whereas -l (small L) makes it hang. If it returns, reading from the output stream is not a problem. If I remove the :output key argument, it does not hang either. Oh, and running the same commands at the shell prompt works of course, and the output and exit status is similar. Bj�rn
