summaryrefslogtreecommitdiff
path: root/libhurd-mm
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-12-18 15:06:04 +0100
committerNeal H. Walfield <neal@gnu.org>2008-12-18 15:06:04 +0100
commitfa14eb534e4bda4c02168a42fcdf1e1b1f69b96b (patch)
treece8eaca04b4568bdb46430781566739baa89a51c /libhurd-mm
parent50f56bdeafd7636880c9fc168acdb28bfc805808 (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/ChangeLog5
-rw-r--r--libhurd-mm/message-buffer.c2
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 (;;)
{