Date: Fri, 8 Mar 2002 00:25:03 -0800 From: Bill Huey <billh@gnuppy.monkey.org> To: Julian Elischer <julian@elischer.org> Cc: Nate Williams <nate@yogotech.com>, Poul-Henning Kamp <phk@critter.freebsd.dk>, arch@FreeBSD.ORG Subject: Re: Contemplating THIS change to signals. (fwd) Message-ID: <20020308082503.GA6690@gnuppy.monkey.org> In-Reply-To: <Pine.BSF.4.21.0203072354560.46841-100000@InterJet.elischer.org> References: <15496.22850.811384.136422@caddis.yogotech.com> <Pine.BSF.4.21.0203072354560.46841-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 08, 2002 at 12:08:49AM -0800, Julian Elischer wrote: > No, it is not really interrupted. It has not been sent back to the > userland. A STOP certainly doesn't prematurely kill it. > Its stack still says that it is in the sleep. > If the SIGCONT occurs, it is still in the sleep where it was before > an if not, the timeout timer is still running.. > > An interrupted sleep is when the timeout is cancelled and control is > returned so that it goes back towards the userland. This does not > happen in a syscall when a SIGSTOP is received. The way I read it was that both of those things are a kind of notification to that system call and not literally an interrupt that absolutely must return it back to userspace some how. > > 2) Completes, but has a return value such that the userland program can > > re-start the system call again. > > This is never the result of a STOP signal detected in msleep(tsleep) > > In both cases, it has been 'interrupted' (it did not complete as it > > would had it not received a SIGSTOP signal). > > SIGSTOP does not do this (unless you have set a signal handler for it > in which ccase it is no longer SIGSTOP but rather something else > (in fact CAN you set a SIGSTOP handler?) Don't remember, signals are evil. ;) bill To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020308082503.GA6690>