[07/14] Consolidate non cancellable fcntl call

Message ID 1499198034-5837-8-git-send-email-adhemerval.zanella@linaro.org
State Superseded
Headers show
Series
  • Remove sysdep-cancel assembly macro
Related show

Commit Message

Adhemerval Zanella July 4, 2017, 7:53 p.m.
This patch consolidates all the non cancellable fcntl calls to use
the __fcntl_nocancel identifier.  For non cancellable targets it will
be just a macro to call the default respective symbol while on Linux
will be a internal one.

Since its prototype is already defined at internal fcntl.h header, it
is removed from not-cancel.h one.

Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.

	* login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with
	__fcntl_nocancel.
	* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro.
	* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise.
---
 ChangeLog                            | 5 +++++
 login/utmp_file.c                    | 4 ++--
 sysdeps/generic/not-cancel.h         | 2 --
 sysdeps/unix/sysv/linux/not-cancel.h | 4 ----
 4 files changed, 7 insertions(+), 8 deletions(-)

-- 
2.7.4

Patch

diff --git a/login/utmp_file.c b/login/utmp_file.c
index 4dd38dd..7462a13 100644
--- a/login/utmp_file.c
+++ b/login/utmp_file.c
@@ -81,7 +81,7 @@  static void timeout_handler (int signum) {};
   memset (&fl, '\0', sizeof (struct flock));				      \
   fl.l_type = (type);							      \
   fl.l_whence = SEEK_SET;						      \
-  if (fcntl_not_cancel ((fd), F_SETLKW, &fl) < 0)
+  if (__fcntl_nocancel ((fd), F_SETLKW, &fl) < 0)
 
 #define LOCKING_FAILED() \
   goto unalarm_return
@@ -89,7 +89,7 @@  static void timeout_handler (int signum) {};
 #define UNLOCK_FILE(fd) \
   /* Unlock the file.  */						      \
   fl.l_type = F_UNLCK;							      \
-  fcntl_not_cancel ((fd), F_SETLKW, &fl);				      \
+  __fcntl_nocancel ((fd), F_SETLKW, &fl);				      \
 									      \
  unalarm_return:							      \
   /* Reset the signal handler and alarm.  We must reset the alarm	      \
diff --git a/sysdeps/generic/not-cancel.h b/sysdeps/generic/not-cancel.h
index 9959c87..fa7b4d3 100644
--- a/sysdeps/generic/not-cancel.h
+++ b/sysdeps/generic/not-cancel.h
@@ -36,8 +36,6 @@ 
   __write (fd, buf, n)
 #define __writev_nocancel_nostatus(fd, iov, n) \
   (void) __writev (fd, iov, n)
-#define fcntl_not_cancel(fd, cmd, val) \
-  __fcntl (fd, cmd, val)
 # define waitpid_not_cancel(pid, stat_loc, options) \
   __waitpid (pid, stat_loc, options)
 #define pause_not_cancel() \
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index 7fd42c2..625bbaa 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
+++ b/sysdeps/unix/sysv/linux/not-cancel.h
@@ -72,10 +72,6 @@  __writev_nocancel_nostatus (int fd, const struct iovec *iov, int iovcnt)
   return INTERNAL_SYSCALL_CALL (writev, err, fd, iov, iovcnt);
 }
 
-/* Uncancelable fcntl.  */
-#define fcntl_not_cancel(fd, cmd, val) \
-  __fcntl_nocancel (fd, cmd, val)
-
 /* Uncancelable waitpid.  */
 #define __waitpid_nocancel(pid, stat_loc, options) \
   INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL)