[ic] RPC traffic settings

Grant emailgrant at gmail.com
Sun Mar 10 23:03:18 UTC 2013


>> 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".
>
>> 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';

I think you fixed it (with only a tiny amount of info from me).
Should this be added to bin/interchange in git?

Thank you,
Grant



More information about the interchange-users mailing list