Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2001 07:53:39 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Alfred Perlstein <bright@mu.org>
Cc:        Julian Elischer <julian@elischer.org>, arch@FreeBSD.ORG
Subject:   Re: KSE next steps...
Message-ID:  <Pine.SUN.3.91.1010928074716.29490A-100000@pcnet1.pcnet.com>
In-Reply-To: <20010928040113.B59854@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 28 Sep 2001, Alfred Perlstein wrote:
> * Julian Elischer <julian@elischer.org> [010928 02:44] wrote:
> > 
> > int abort_thread(struct kt_context *ktc); /* if we find a thread in */ 
> > 				/* this process that has this ktc, */
> > 				/* then if it is sleeping, abort the syscall */
> > 				/* if it is running, let it continue but set */
> > 				/* flag so that if it tries to sleep, it aborts */
> > 				/* instead */
> 
> Unless I'm misunderstanding you, this will not be possible without
> a tremendous amount of work, a variation that may work is allowing
> the syscall to run to completion, returning the error code and then
> aborting it.  Too much code would have to change if tsleep became
> a cancellation point.

Think of this as kill() on a process; it shouldn't be too different.
If PCATCH is specified in the tsleep, then it is terminated immediately,
otherwise it just remains pending until (and if) it is checked at a
later point in time.  Regardless of whether PCATCH is specified, the
thread never returns to userland.  The UTS is notified through an
upcall in the same way that it would be if a thread blocked (but with
a different completion status).

-- 
Dan Eischen

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?Pine.SUN.3.91.1010928074716.29490A-100000>