Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Feb 2007 17:13:34 +1030
From:      Greg 'groggy' Lehey <grog@FreeBSD.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/share/man/man9 sleep.9
Message-ID:  <20070228064334.GG8399@wantadilla.lemis.com>
In-Reply-To: <20070227235843.GA59138@xor.obsecurity.org>
References:  <200702272309.l1RN9Xum011236@repoman.freebsd.org> <20070227235843.GA59138@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--8S1fMsFYqgBC+BN/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tuesday, 27 February 2007 at 18:58:43 -0500, Kris Kennaway wrote:
> On Tue, Feb 27, 2007 at 11:09:32PM +0000, Greg Lehey wrote:
>
>>> -function
>>> -does not work reliably if more than one thread is sleeping on the same address;
>>> -in this case it is possible for an unrelated thread to be woken.
>>> -This thread will ignore the wakeup, and the correct process will never be
>>> -woken.
>>> +function does not work reliably if unrelated threads are sleeping on the same
>>> +address.
>>> +In this case, if a wakeup for one group of threads is delivered to a member of
>>> +another group, that thread will ignore the wakeup, and the correct thread will
>>> +never be woken up.
>>> +It is the programmer's responsibility to choose a unique
>>> +.Fa chan
>>> +value.
>>> +In case of doubt, do not use
>>> +.Fn wakeup_one .
>
> I don't like this recommendation, since it directs the programmer to
> introduce potentially serious performance bottlenecks at the expense
> of clear thinking about their code to avoid introducing the bug in the
> first place.

How would you address the case?  Recall that we're talking here about
two different programmers, and you don't even know who the second one
is.  It would be nice to have some mechanism like WITLESS to detect
the problem, but I can't see how it would work.

Greg
--
See complete headers for address and phone numbers.

--8S1fMsFYqgBC+BN/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFF5SSWIubykFB6QiMRAqJkAJ9b53uZQBRxjohMBvkbhszDqfM2IACgj0W7
lpXln3j5x87NxI/6f6xbowg=
=u/rY
-----END PGP SIGNATURE-----

--8S1fMsFYqgBC+BN/--



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