Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Sep 2001 16:16:25 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        julian@FreeBSD.org, arch@FreeBSD.org
Subject:   sigsuspend() and KSE
Message-ID:  <XFMail.010919161625.jhb@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
From the KSE commit the following was added regarding sigsuspend:

/*
 * Suspend process until signal, providing mask to be set
 * in the meantime.  Note nonstandard calling convention:
 * libc stub passes mask, not pointer, to save a copyin.
 ***** XXXKSE this doesn't make sense under KSE.
 ***** Do we suspend the thread or all threads in the process?
 ***** How do we suspend threads running NOW on another processor?
 */

Here's my opinion:

sigsuspend() just suspends the current thread.  When a signal is posted, it
wakes up all threads blocked on sigsuspend whose mask matches that signal.  I
can see it still making sense, but perhaps being of limited usefulness in a
threaded program.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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?XFMail.010919161625.jhb>