Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Feb 2007 18:58:43 -0500
From:      Kris Kennaway <kris@obsecurity.org>
To:        Greg Lehey <grog@FreeBSD.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:  <20070227235843.GA59138@xor.obsecurity.org>
In-Reply-To: <200702272309.l1RN9Xum011236@repoman.freebsd.org>
References:  <200702272309.l1RN9Xum011236@repoman.freebsd.org>

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

--r5Pyd7+fXNt84Ff3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Feb 27, 2007 at 11:09:32PM +0000, Greg Lehey wrote:

>   - the issues with wakeup_one are due to address space clashes between
>     unrelated groups of threads.

> | -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.

Kris


--r5Pyd7+fXNt84Ff3
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iD8DBQFF5MWzWry0BWjoQKURApMsAKDQsIOQA4j7Fz2VyQmvSeMMiWYAiQCg0QFE
nr9U1eWEjmzz1298NcIC8zg=
=O09G
-----END PGP SIGNATURE-----

--r5Pyd7+fXNt84Ff3--



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