]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
futex_bits.h: Include errno.h.
authorJakub Jelinek <jakub@redhat.com>
Wed, 26 Mar 2014 21:53:08 +0000 (22:53 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 26 Mar 2014 21:53:08 +0000 (22:53 +0100)
* config/linux/futex_bits.h: Include errno.h.
(sys_futex0): If syscall returns -1, return -errno rather than
-1.

From-SVN: r208856

libitm/ChangeLog
libitm/config/linux/futex_bits.h

index 41ca0c92c69e8712555f2bc3caf0e7795db183ba..3347dd7b78ac072a67c6bd58a024d20ab78996df 100644 (file)
@@ -1,3 +1,9 @@
+2014-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/linux/futex_bits.h: Include errno.h.
+       (sys_futex0): If syscall returns -1, return -errno rather than
+       -1.
+
 2014-03-03  Peter Bergner  <bergner@vnet.ibm.com>
 
        Backport from mainline
index 44f89aae22537a55942ccc1b6eb648cf2cc8cb7a..fd79652e315130b095b556e9b6711e6f54038b10 100644 (file)
 
 #include <unistd.h>
 #include <sys/syscall.h>
+#include <errno.h>
 
 static inline long
 sys_futex0 (std::atomic<int> *addr, long op, long val)
 {
-  return syscall (SYS_futex, (int*) addr, op, val, 0);
+  long res = syscall (SYS_futex, (int*) addr, op, val, 0);
+  if (__builtin_expect (res == -1, 0))
+    return -errno;
+  return res;
 }