[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SIGTERM ignored before exec race

From: Chet Ramey
Subject: Re: SIGTERM ignored before exec race
Date: Sun, 10 Feb 2013 15:30:23 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/17.0 Thunderbird/17.0

On 2/9/13 12:02 AM, Pádraig Brady wrote:
> $ rpm -q kernel glibc bash
> kernel-
> glibc-2.14.1-6.x86_64
> bash-4.2.10-4.fc15.x86_64
> I notice the following will wait for 5 seconds for
> the timeout process to end with SIGALRM, rather than
> immediately due to kill sending the SIGTERM.

I'll take a look at making the race window smaller; there is probably
some code reordering that will have a beneficial effect.

This race exists, to a certain extent, in all Bourne-like shells.  This
problem only happens when run interactively, and it happens because
interactive shells ignore SIGTERM.  No matter how quickly you modify a
child's signal handlers after fork() returns, there's always the chance
that a kernel's scheduling policies or aome global auto-nice of child
or background processes will cause it to happen.


``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]