diff options
author | Neal H. Walfield <neal@gnu.org> | 2008-12-18 15:06:04 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2008-12-18 15:06:04 +0100 |
commit | fa14eb534e4bda4c02168a42fcdf1e1b1f69b96b (patch) | |
tree | ce8eaca04b4568bdb46430781566739baa89a51c /libhurd-mm | |
parent | 50f56bdeafd7636880c9fc168acdb28bfc805808 (diff) |
Fix logic error.
2008-12-18 Neal H. Walfield <neal@gnu.org>
* message-buffer.c (hurd_message_buffer_alloc): Fix compare and
swap logic.
Diffstat (limited to 'libhurd-mm')
-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 (;;) { |