diff options
Diffstat (limited to 'gcc-4.8/libgomp/config/linux/futex.h')
-rw-r--r-- | gcc-4.8/libgomp/config/linux/futex.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc-4.8/libgomp/config/linux/futex.h b/gcc-4.8/libgomp/config/linux/futex.h index 676b2dbb8..9dd8fe72f 100644 --- a/gcc-4.8/libgomp/config/linux/futex.h +++ b/gcc-4.8/libgomp/config/linux/futex.h @@ -45,8 +45,8 @@ static inline void futex_wait (int *addr, int val) { - long err = syscall (SYS_futex, addr, gomp_futex_wait, val, NULL); - if (__builtin_expect (err == -ENOSYS, 0)) + int err = syscall (SYS_futex, addr, gomp_futex_wait, val, NULL); + if (__builtin_expect (err < 0 && errno == ENOSYS, 0)) { gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG; gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG; @@ -57,8 +57,8 @@ futex_wait (int *addr, int val) static inline void futex_wake (int *addr, int count) { - long err = syscall (SYS_futex, addr, gomp_futex_wake, count); - if (__builtin_expect (err == -ENOSYS, 0)) + int err = syscall (SYS_futex, addr, gomp_futex_wake, count); + if (__builtin_expect (err < 0 && errno == ENOSYS, 0)) { gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG; gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG; |