aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/fcntl_nocancel.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-28 18:18:43 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-28 18:24:37 +0000
commit3c9f67e7a58487c084f3b657c1dfe490d1a318d5 (patch)
tree76a9c4d6d568112188144c85b10969727e5b2224 /sysdeps/mach/hurd/fcntl_nocancel.c
parent09effdc9b04a3a04d4f128fd9e1fa360a251ed81 (diff)
downloadglibc-3c9f67e7a58487c084f3b657c1dfe490d1a318d5.zip
glibc-3c9f67e7a58487c084f3b657c1dfe490d1a318d5.tar.gz
glibc-3c9f67e7a58487c084f3b657c1dfe490d1a318d5.tar.bz2
hurd: Make fcntl(F_SETLKW*) cancellation points
and add _nocancel variant. * sysdeps/mach/hurd/Makefile [io] (sysdep_routines): Add fcntl_nocancel. * sysdeps/mach/hurd/fcntl.c [NOCANCEL]: Include <not-cancel.h>. [!NOCANCEL]: Include <sysdep-cancel.h>. (__libc_fcntl) [!NOCANCEL]: Surround __file_record_lock call with enabling async cancel, and use HURD_FD_PORT_USE_CANCEL instead of HURD_FD_PORT_USE. * sysdeps/mach/hurd/fcntl_nocancel.c: New file, defines __fcntl_nocancel by including fcntl.c. * sysdeps/mach/hurd/not-cancel.h (__fcntl64_nocancel): Replace macro with __fcntl_nocancel declaration with hidden proto, and make __fcntl64_nocancel call __fcntl_nocancel.
Diffstat (limited to 'sysdeps/mach/hurd/fcntl_nocancel.c')
-rw-r--r--sysdeps/mach/hurd/fcntl_nocancel.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/fcntl_nocancel.c b/sysdeps/mach/hurd/fcntl_nocancel.c
new file mode 100644
index 0000000..8913405
--- /dev/null
+++ b/sysdeps/mach/hurd/fcntl_nocancel.c
@@ -0,0 +1,3 @@
+#define NOCANCEL
+#define __libc_fcntl __fcntl_nocancel
+#include <sysdeps/mach/hurd/fcntl.c>