Carlos O'Donell
042e1521c7
Fix semaphore destruction (bug 12674).
...
This commit fixes semaphore destruction 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.
See:
https://sourceware.org/ml/libc-alpha/2014-12/msg00155.html
2015-01-21 00:46:16 -05:00
..
2015-01-02 16:29:47 +00:00
2015-01-21 00:46:16 -05:00
2015-01-06 08:23:58 -08:00
2015-01-06 04:59:13 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-21 00:46:16 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-09 17:34:46 +10:00
2015-01-07 16:26:26 -02:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-17 22:29:12 -08:00
2015-01-21 00:46:16 -05:00
2015-01-16 09:18:58 +01:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-05 12:06:15 -05:00
2015-01-05 14:37:07 +00:00
2015-01-12 16:03:58 -02:00
2015-01-21 00:46:16 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-12-22 12:46:27 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 17:26:44 +01:00
2015-01-08 10:49:40 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 04:59:13 -08:00
2015-01-02 16:29:47 +00:00
2014-09-16 17:45:03 +00:00
2014-09-16 17:45:03 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-20 15:41:35 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-25 20:29:45 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-08 08:03:31 -05:00
2015-01-02 16:29:47 +00:00
2015-01-08 08:03:31 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-12-22 12:46:27 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-12 13:48:47 -07:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:54:45 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-08 13:24:56 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-09-12 12:28:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-06 08:23:58 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-11-01 12:26:09 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-25 18:09:01 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-08 08:03:31 -05:00
2015-01-08 08:03:31 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00