libev's child reaping breaks system() function
Marc Lehmann
schmorp at schmorp.de
Thu Aug 26 22:12:45 CEST 2010
On Thu, Aug 26, 2010 at 08:02:17PM +0200, Robin Haberkorn <rh at travelping.com> wrote:
> However in multi-threaded environments, system() cannot
multi-threading itself breaks a lot of stuff (fork for example) in subtle
ways. this issue is not really something that libev can do something
about.
the solution is to not use system then, just as any other funciton that
causes problems when threading.
> That doesn't seem to be pretty much straight-forward.
> IMHO, I could live without the ev_child watcher at all but
> I would be happy with a clean way to use ev_signal to process
> SIGCHLDs.
Don't use system or multihreading - posix is harsh, and multithreading
imposes rather draconic limitations on a program. not much that can be
doen about it. it's a pain in the ass, but libev can only use what posix
offers.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list