Children not being reaped with g_child_watch_source_new()



Hello all,

I'm having a sporadic problem with child processes spawned by g_spawn_async_with_pipes() not being reaped in my GMainLoop. It only seems to happen when the machine is under some amount of load.

Here's the relevant parts of the code and a strace:

Here's the full file without anything omitted:

Here's a link to the full strafe (gripped ~748K):

I'm at a loss as to why this is sporadic, and why the parent process fails to reap the child. The child calls exit_group (this is clear from the strace), and it also completes in under 5 minutes, so it shouldn't need to be killed by my timeout. However, the wait4() syscall lasts about 5 minutes (also clear from the strace).

Any ideas?

Thanks,
William Orr


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]