summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/__syscall_fcntl64.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/__syscall_fcntl64.c')
-rw-r--r--libc/sysdeps/linux/common/__syscall_fcntl64.c7
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