[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: busyloop in sigchld_handler
From: |
Andreas Schwab |
Subject: |
Re: busyloop in sigchld_handler |
Date: |
Mon, 12 Mar 2007 19:45:03 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.91 (gnu/linux) |
Sam Steingold <address@hidden> writes:
> Andreas Schwab wrote:
>> Sam Steingold <address@hidden> writes:
>>
>>> wait3 is a system call, which, when invoked in a loop, prevents the
>>> kernel from doing anything else (in this case, sending SIGCHLD to
>>> emacs). sleep allows the kernel some time to pass the signal.
>>
>> I don't find this explanation convincing at all. Since the system call is
>> made _inside_ the signal handler, the signal is actually blocked here, so
>> it cannot be delivered anyway.
>
> yes, you are right.
> what I should have said was that by making a system call in a busyloop,
> emacs prevents the kernel from doing what it needs to do to the the child
> so that wait3 will succeed.
What does the kernel have to do? The EINTR error will only happen when
the system call was interrupted _and_ a signal handler was called.
Andreas.
--
Andreas Schwab, SuSE Labs, address@hidden
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
- Re: busyloop in sigchld_handler, (continued)
- Re: busyloop in sigchld_handler, Sam Steingold, 2007/03/11
- Re: busyloop in sigchld_handler, Eli Zaretskii, 2007/03/11
- Re: busyloop in sigchld_handler, Sam Steingold, 2007/03/11
- Re: busyloop in sigchld_handler, Richard Stallman, 2007/03/12
- Re: busyloop in sigchld_handler, David Kastrup, 2007/03/12
- Re: busyloop in sigchld_handler, Richard Stallman, 2007/03/12
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/11
- Re: busyloop in sigchld_handler, Kim F. Storm, 2007/03/11
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/12
- Re: busyloop in sigchld_handler, Sam Steingold, 2007/03/12
- Re: busyloop in sigchld_handler,
Andreas Schwab <=
- Re: busyloop in sigchld_handler, Sam Steingold, 2007/03/12
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/12
- Re: busyloop in sigchld_handler, David Kastrup, 2007/03/12
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/12
- Re: busyloop in sigchld_handler, David Kastrup, 2007/03/13
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/13
- Re: busyloop in sigchld_handler, David Kastrup, 2007/03/13
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/13
- Re: busyloop in sigchld_handler, David Kastrup, 2007/03/13
- Re: busyloop in sigchld_handler, Andreas Schwab, 2007/03/13