[ https://issues.apache.org/jira/browse/THRIFT-4065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III resolved THRIFT-4065. ---------------------------------------- Resolution: Fixed Fix Version/s: 0.11.0 Tested this in a couple different scenarios and it allows the handler's forked children to use SIGCHLD to fork if they need to. > Document Perl ForkingServer signal restriction imposed by THRIFT-3848 and > remove unnecessary code > ------------------------------------------------------------------------------------------------- > > Key: THRIFT-4065 > URL: https://issues.apache.org/jira/browse/THRIFT-4065 > Project: Thrift > Issue Type: Bug > Components: Perl - Library > Affects Versions: 0.10.0 > Environment: Ubuntu 14.04 LTS, Perl 5.18 > Reporter: James E. King, III > Assignee: James E. King, III > Fix For: 0.11.0 > > > The Perl ForkingServer sets SIGCHLD to be ignores so that the forks can be > automatically reaped, since the ForkingServer doesn't care about the child > exit code. > The fix for THRIFT-3848 was incomplete. It needs to reset the signal handler > in the child to use a default SIGCHLD handler so any thrift handler > implementation relying on SIGCHLD will execute properly. > Also due to the fact that SIGCHLD is ignored in ForkingServer, the > _collectChildren and call to waitpid() are unnecessary and can be removed, > along with the children hash, from _parent(). -- This message was sent by Atlassian JIRA (v6.3.15#6346)