[
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:
2007年3月12日 20:34:43 +0100
User-agent:
Gnus/5.11 (Gnus v5.11) Emacs/22.0.95 (gnu/linux)
Andreas Schwab <address@hidden> writes:
> Sam Steingold <address@hidden> writes:
>
>> I don't know the details, but the kernel obviously has to do SOMETHING
>> when the child process terminates: it has to notice the state change so
>> that wait3 in emacs will return "yes, the child is dead" instead of
>> "nothing for you yet". The busyloop prevents the kernel from doing
>> anything for some time.
>
> But the busyloop does not happen when there is nothing to do, it only
> happens when wait3 is interrupted. A zero return will cause the handler
> to return immediately.
>
>> Now, it might be better to remove the WNOHANG option instead (except that
>> signal handlers are not supposed to hang),
>
> If you don't use WNOHANG you open up a race where several processes may
> have their status changed, but only one signal is sent (non-realtime
> signals are not queued).
How does WNOHANG protect against that? It does not prevent
scheduling, and it certainly does not prevent parallel execution on
multi-processor machines.
I should think that we need to prepare against this anyway.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
- Re: busyloop in sigchld_handler, (continued)
- 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, 2007年03月12日
- 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 <=
- 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日
- Re: busyloop in sigchld_handler , David Kastrup, 2007年03月14日
- Re: busyloop in sigchld_handler , Kim F. Storm, 2007年03月14日
- Re: busyloop in sigchld_handler , David Kastrup, 2007年03月14日