[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: popen in non-blocking mode
- From: Peter Odding <peter@...>
- Date: Tue, 06 Dec 2011 23:17:10 +0100
We are running an external process using io.popen(). Something like ...
ecom = assert(io.popen(cmd, 'r'))
Is there a way to setup non-blocking reads with this type of interface?
Or do other lua modules offer more control? What we've seen is that our
read() command will block if the external process does not have any data
to return. We need a strategy to make this non-blocking.
Thanks for any suggestions,
I don't know whether it's possible or easy to make pipes created by
io.popen() non-blocking, however my Lua/APR binding  supports process
management and pipes with configurable blocking behaviour (non-blocking,
blocking and blocking with time out). It works in Windows and UNIX
environments (and then some).