[PATCH 0/3] Fix semaphore destruction (BZ #12674)

Rich Felker dalias@libc.org
Fri Dec 5 20:30:00 GMT 2014


On Fri, Dec 05, 2014 at 07:37:48PM +0100, Torvald Riegel wrote:
> This patch set fixes
> https://sourceware.org/bugzilla/show_bug.cgi?id=12674 by either using
> 64b atomic operations (where available), or by using two separate fields
> when only 32b atomic operations are available.  In the latter case, we
> keep a conservative estimate of whether there are any waiting threads in
> one bit of the field that counts the number of available tokens, thus
> allowing sem_post to atomically both add a token and determine whether
> it needs to call futex_wake.
> 
> The first two patches are changes to the tests, the last big patch is
> where the actual fix resides.

I haven't read the code, but per your description of the changes, the
concepts all sound correct.

Rich



More information about the Libc-alpha mailing list