Abolishing sleeps in issignal()
Jeff Roberson
jroberson at chesapeake.net
Mon Oct 8 16:04:05 PDT 2007
On Mon, 8 Oct 2007, Alfred Perlstein wrote:
> * Jeff Roberson <jroberson at chesapeake.net> [071008 14:39] wrote:
>>
>> What I'd like from readers on arch@ is for you to consider if there are
>> other cases than non-restartable syscalls that will break if
>> msleep/sleepqs return EINTR from SIGSTOP and debug events. Also, is there
>> an authoritative list of non-restartable syscalls anywhere? It's just
>> those involving timevals right? nanosleep/poll/select/kqueue.. others?
>>
>> I intend to do this work for 8.0 and hopefully very early on so we have
>> plenty of time to shake out bugs as this signal code tends to be very
>> delicate.
>>
>
> Is there precident for this work from other OSes, Linux, Solaris
> that shows moving to this model works?
I forgot to mention that. These two both use this model. Linux sets up
a complicated syscall restart state so that the normal syscal restart
mechanism can be used. I didn't fully understand what solaris does but
they don't sleep in issignal. They do it later as well.
Jeff.
>
> --
> - Alfred Perlstein
>
More information about the freebsd-arch
mailing list