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>