[ic] RPC traffic settings

Peter peter at pajamian.dhs.org
Sun Mar 10 06:24:24 UTC 2013


On 03/10/2013 06:49 PM, Grant wrote:
> It sounds like Mark is explaining how PreForkSingleFork works there.
> Are you sure setting SIGCHLD to IGNORE is different from setting
> PreForkSingleFork?

Yes, it sounds to me like he's saying that you can accomplish relatively 
the same thing that double-forking would accomplish by setting SIGCHLD 
to IGNORE, but still reap the performance benefits of single-forking. 
My reading of Perl docs supports this as well.  See perldoc perlipc and 
search for "CHLD".


Peter

> I tried it but no luck.  Same result in less time.  I also tried
> without ChildLife.

I find this (new) bit of info very interesting, it seems to suggest that 
the problem occurs when children are destroyed.  I think that perhaps 
it's leaving zombie processes and these are somehow preventing 
Interchange from spawning new ones.  If this is the case then setting 
SIGCHLD to IGNORE may indeed solve your problem.  Try adding this line 
into your bin/interchange file inside one of the BEGIN blocks (probably 
where it has all those commented out $ENV... lines:

$SIG{CHLD} = 'IGNORE';


Peter



More information about the interchange-users mailing list