summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-08-23 10:40:14 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-08-23 10:47:03 -0300
commit2b0b9a1c85ea93a64e55bb369e79758195512fc2 (patch)
treedf2111559a53386259a2b4556b23f2b63e8bdf60 /sysdeps/unix
parentb9eaca8fa0a9628a992e0f1478aaadde576804e1 (diff)
downloadglibc-2b0b9a1c85ea93a64e55bb369e79758195512fc2.tar.gz
glibc-2b0b9a1c85ea93a64e55bb369e79758195512fc2.tar.xz
glibc-2b0b9a1c85ea93a64e55bb369e79758195512fc2.zip
Consolidate remaning non cancellable definitions
This patch consolidate the remaning non cancellable syscall definitions
on not-cancel.h header.  They are:

  * __fcntl_nocancel: Moved from fcntl.h to not-cancel.h.
  * __sigsuspend_nocancel: Removed since 988f991b50 it is not used or
    defined anymore.
  * __nanosleep_nocancel: Removed since 6f33fd046b it is defined on
    not-cancel.h.

Now all non-cancellable syscall definition are defined on not-cancel
(the only exceptions is the stdio symbol __fxprintf_nocancel which
uses non cancellable open and it is used on getopt implementation).

Checked on x86_64-linux-gnu and with build-many-glibc.py.

	* include/fcntl.h (__fcntl_nocancel): Remove definition.
	* include/signal.h (__sigsuspend_nocancel): Likewise.
	* include/time.h (__nanosleep_nocancel): Likewise.
	* sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
	* login/utmp_file.c: Include non cancellable syscall header.
	* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
	prototype.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/not-cancel.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index f73b2bbe8c..ae0b059e75 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
+++ b/sysdeps/unix/sysv/linux/not-cancel.h
@@ -85,4 +85,7 @@ libc_hidden_proto (__pause_nocancel)
 __typeof (__nanosleep) __nanosleep_nocancel;
 hidden_proto (__nanosleep_nocancel)
 
+/* Uncancelable fcntl.  */
+__typeof (__fcntl) __fcntl_nocancel attribute_hidden;
+
 #endif /* NOT_CANCEL_H  */