diff options
-rw-r--r-- | libhurd-mm/ChangeLog | 5 | ||||
-rw-r--r-- | libhurd-mm/message-buffer.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libhurd-mm/ChangeLog b/libhurd-mm/ChangeLog index 72e5856..ca8da4a 100644 --- a/libhurd-mm/ChangeLog +++ b/libhurd-mm/ChangeLog @@ -1,5 +1,10 @@ 2008-12-18 Neal H. Walfield <neal@gnu.org> + * message-buffer.c (hurd_message_buffer_alloc): Fix compare and + swap logic. + +2008-12-18 Neal H. Walfield <neal@gnu.org> + * message-buffer.c: Include <hurd/mm.h>. (hurd_message_buffer_free_internal): Remove function. Move body to... diff --git a/libhurd-mm/message-buffer.c b/libhurd-mm/message-buffer.c index 461a3a3..ecb2b58 100644 --- a/libhurd-mm/message-buffer.c +++ b/libhurd-mm/message-buffer.c @@ -282,7 +282,7 @@ hurd_message_buffer_alloc (void) if (likely (mm_init_done) && unlikely (buffers_count <= BUFFERS_LOW_WATER) && ! allocating - && __sync_val_compare_and_swap (&allocating, 0, 1) == 1) + && __sync_val_compare_and_swap (&allocating, 0, 1) == 0) { for (;;) { |