This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] manual: don't ignore SIGCHLD when calling waitpid


My understanding of the example is for interactive shells (shell_is_interactive),
the idea is only to get child information to the explicit launched processes done
by launch_process, so ignoring and reseting SIGCHLD seems ok.

On 17/04/2019 15:34, Simon Ser wrote:
> Hi,
> 
> Could anyone review this? I can't find a maintainer to Cc on the wiki.
> 
> Thanks,
> 
> Simon Ser
> 
> On Thursday, January 17, 2019 4:35 PM, Simon Ser <contact@emersion.fr> wrote:
>> From: emersion <contact@emersion.fr>
>>
>> If SIGCHLD is ignore, child process information is discarded as soon as they
>> exit, making it impossible to retrieve their status with waitpid.
>> ---
>>  ChangeLog       | 4 ++++
>>  manual/job.texi | 2 --
>>  2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/ChangeLog b/ChangeLog
>> index 4c34d45a..661d2749 100644
>> --- a/ChangeLog
>> +++ b/ChangeLog
>> @@ -1,3 +1,7 @@
>> +2019-01-17  Simon Ser  <contact@emersion.fr>
>> +
>> +	* manual/job.texi: don't ignore SIGCHLD when calling waitpid
>> +
>>  2019-01-16  Paul A. Clarke  <pc@us.ibm.com>
>>
>>  	* sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Fix #ifdef.
>> diff --git a/manual/job.texi b/manual/job.texi
>> index 05a42ea8..0fc7f51a 100644
>> --- a/manual/job.texi
>> +++ b/manual/job.texi
>> @@ -414,7 +414,6 @@ init_shell ()
>>        signal (SIGTSTP, SIG_IGN);
>>        signal (SIGTTIN, SIG_IGN);
>>        signal (SIGTTOU, SIG_IGN);
>> -      signal (SIGCHLD, SIG_IGN);
>>
>>        /* @r{Put ourselves in our own process group.}  */
>>        shell_pgid = getpid ();
>> @@ -530,7 +529,6 @@ launch_process (process *p, pid_t pgid,
>>        signal (SIGTSTP, SIG_DFL);
>>        signal (SIGTTIN, SIG_DFL);
>>        signal (SIGTTOU, SIG_DFL);
>> -      signal (SIGCHLD, SIG_DFL);
>>      @}
>>
>>    /* @r{Set the standard input/output channels of the new process.}  */
>> --
>> 2.20.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]