From: Erik Naggum

Subject: Re: Run-shell-command, timeout and multiprocessing

Date: 2000-12-18 15:32

* Raimondas Kiveris
| I have to use run-shell-command in a multithreaded application.
| Run-shell-command with :wait t apparently suspends all other 
| threads and if external process takes significant time to complete
| the whole application practically hangs. 

  Why do you need :wait t?  If you cannot proceed until the child process
  has finished, it is better to use :wait nil and an :output :stream which
  you simply drain until it closes, which coincides with termination unless
  the process is doing really weird things.  You may apply a timeout while
  "reading" from this stream in the normal way.

  I think :wait t is a design mistake.  It should never be used, not even
  when you absolutely, positively, _have_ to wait for the process to die.
  Losing control like that is never the right solution.

#:Erik