emacs-devel
[Top][All Lists]
Advanced

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

Re: busyloop in sigchld_handler


From: David Kastrup
Subject: Re: busyloop in sigchld_handler
Date: Tue, 13 Mar 2007 23:54:22 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.95 (gnu/linux)

Andreas Schwab <address@hidden> writes:

> David Kastrup <address@hidden> writes:
>
>> The one waiting for the demise of a process that gets no processing
>> time for dying.
>
> If there is no children dying then the loop is exited immediately.

Dying is not the same as dead.  If I send a process a fatal signal, it
is dying.  But it is not dead before it has completed processing the
signal.

>> It is the only thing that can prevent a deadlock here.
>
> Which deadlock?

The CPU is claimed by the process with the loop, so no other process
may actually progress to a state which can be "wait"ed for.  The
deadlock is on the resource "CPU", and only preemption can break it.

>> I can't see how this guarantees one signal per child.
>
> It's explicitly explained in the quoted text.

I disagree.  "explicitly" would mean that some wording remotely
similar to your "guarantee" claims could be found.  So at best, it is
implicitly contained somewhere for a person smarter than myself.  As
that seemingly includes you, it would have been nice if you had
bothered to explain.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




reply via email to

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