Index: /trunk/source/level-0/l0-misc.lisp
===================================================================
--- /trunk/source/level-0/l0-misc.lisp	(revision 14539)
+++ /trunk/source/level-0/l0-misc.lisp	(revision 14540)
@@ -896,5 +896,5 @@
                t)
            (incf (%get-natural ptr target::rwlock.blocked-writers))
-           (let* ((waitval (%get-natural write-signal 0)))
+           (let* ((waitval (%get-signed-long write-signal 0)))
              (%unlock-futex ptr)
              (with-process-whostate ((rwlock-write-whostate lock))
@@ -970,5 +970,5 @@
            (declare (fixnum state))
            (incf (%get-natural ptr target::rwlock.blocked-readers))
-           (let* ((waitval (%get-natural reader-signal 0)))
+           (let* ((waitval (%get-signed-long reader-signal 0)))
              (%unlock-futex ptr)
              (let* ((*interrupt-level* level))
@@ -1067,5 +1067,5 @@
              (if (> nreaders 0)
                (setq signal reader-signal wakeup #$INT_MAX)))))
-       (when signal (incf (%get-signed-natural signal 0)))
+       (when signal (incf (%get-signed-long signal 0)))
        (%unlock-futex ptr)
        (when signal (futex-wake signal wakeup))
