(__fcntl_nocancel): Define.
authordrepper <drepper>
Thu, 4 Sep 2003 13:38:44 +0000 (13:38 +0000)
committerdrepper <drepper>
Thu, 4 Sep 2003 13:38:44 +0000 (13:38 +0000)
sysdeps/unix/sysv/linux/i386/fcntl.c

index 131cbcf..c0ca125 100644 (file)
 #if __ASSUME_FCNTL64 == 0
 /* This variable is shared with all files that check for fcntl64.  */
 int __have_no_fcntl64;
+#endif
 
 
-static int
-do_fcntl (int fd, int cmd, void *arg)
+int
+__fcntl_nocancel (int fd, int cmd, void *arg)
 {
+#if __ASSUME_FCNTL64 == 0
 # ifdef __NR_fcntl64
   if (! __have_no_fcntl64)
     {
@@ -113,8 +115,10 @@ do_fcntl (int fd, int cmd, void *arg)
       return INLINE_SYSCALL (fcntl, 3, fd, cmd, arg);
     }
   return -1;
+#else
+  return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
+#endif  /* !__ASSUME_FCNTL64  */
 }
-#endif  /* __ASSUME_FCNTL64  */
 
 
 int
@@ -136,11 +140,11 @@ __libc_fcntl (int fd, int cmd, ...)
   int result = INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
 #else
   if (SINGLE_THREAD_P || (cmd != F_SETLKW && cmd != F_SETLKW64))
-    return do_fcntl (fd, cmd, arg);
+    return __fcntl_nocancel (fd, cmd, arg);
 
   int oldtype = LIBC_CANCEL_ASYNC ();
 
-  int result = do_fcntl (fd, cmd, arg);
+  int result = __fcntl_nocancel (fd, cmd, arg);
 #endif
 
   LIBC_CANCEL_RESET (oldtype);