Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Oct 2007 16:06:40 -0700 (PDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        arch@freebsd.org
Subject:   Re: Abolishing sleeps in issignal()
Message-ID:  <20071008160422.K912@10.0.0.1>
In-Reply-To: <20071008215011.GI31826@elvis.mu.org>
References:  <20071008142928.Y912@10.0.0.1> <20071008215011.GI31826@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 8 Oct 2007, Alfred Perlstein wrote:

> * Jeff Roberson <jroberson@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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071008160422.K912>