[ 
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)

Reply via email to