Clemens Heitzinger wrote:
>
> Raimondas Kiveris <ldis.com at rai> writes:
>
> > I have following problem:
> >
> > 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.
>
> Try running RUN-SHELL-COMMAND in a separate thread, or new lisp
> listener. It seems as if the whole ACL unix process only hangs if you
> use RUN-SHELL-COMMAND in the first (main?) lisp process. This should
> really be submitted as a bug report (at least, documentation bug
> report).
Well, on unix the *common-lisp* buffer is definitively "different".
But, even if you run in another thread, the :wait t will block the
entire Lisp. Therefore the timeout will not work. As I said in the previous
email, I believe that the only way is to implement your own waiting loop.
Also, the timeout action could be to sigkill the process, so, you need
access to the pid of the process.
> Yours,
> Clemens
--
Luca Pisati
Director, Software Development Voice: (310) 578-7622 Ext. 550
Winged Edge Technologies Fax: (310) 578-7632
1042 Princeton Drive EMail: <wingededge.com at mailto:pisati>
Marina Del Rey, CA 90292 Web: http://www.wingedegde.com