libev's child reaping breaks system() function

Marc Lehmann schmorp at
Thu Aug 26 22:12:45 CEST 2010

On Thu, Aug 26, 2010 at 08:02:17PM +0200, Robin Haberkorn <rh at> 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

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

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

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list