diff options
Diffstat (limited to 'libc/sysdeps/linux/common/__syscall_fcntl64.c')
-rw-r--r-- | libc/sysdeps/linux/common/__syscall_fcntl64.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/common/__syscall_fcntl64.c b/libc/sysdeps/linux/common/__syscall_fcntl64.c index eaef22b3b..88b2b143b 100644 --- a/libc/sysdeps/linux/common/__syscall_fcntl64.c +++ b/libc/sysdeps/linux/common/__syscall_fcntl64.c @@ -23,6 +23,9 @@ int fcntl64(int fd, int cmd, ...) { long arg; va_list list; +# ifdef __NEW_THREADS + int oldtype, result; +# endif va_start(list, cmd); arg = va_arg(list, long); @@ -31,8 +34,8 @@ int fcntl64(int fd, int cmd, ...) if (SINGLE_THREAD_P || (cmd != F_SETLKW64)) return __NC(fcntl64)(fd, cmd, arg); # ifdef __NEW_THREADS - int oldtype = LIBC_CANCEL_ASYNC(); - int result = __NC(fcntl64)(fd, cmd, arg); + oldtype = LIBC_CANCEL_ASYNC(); + result = __NC(fcntl64)(fd, cmd, arg); LIBC_CANCEL_RESET(oldtype); return result; # endif |