From 4cafcd839f8c002c290ec96c64b6d85e87e270e8 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 28 Jun 2020 14:27:36 +0000 Subject: hurd: make open and openat cancellation points and add _nocancel variants. * sysdeps/mach/hurd/Makefile [io] (sysdep_routines): Add open_nocancel openat_nocancel. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE, ld.GLIBC_PRIVATE): Add __open_nocancel. * sysdeps/mach/hurd/dl-sysdep.c (__open_nocancel): Add alias, check it is not hidden. * sysdeps/mach/hurd/i386/localplt.data (__open_nocancel): Allow PLT. * sysdeps/mach/hurd/not-cancel.h (__open_nocancel, __openat_nocancel: Replace macros with declarations with hidden proto. (__open64_nocancel, __openat64_nocancel): Call __open_nocancel and __openat_nocancel instead of __open64 and __openat64. * sysdeps/mach/hurd/open.c: Include (__libc_open): Surround __file_name_lookup with enabling async cancel. * sysdeps/mach/hurd/openat.c: Likewise. * sysdeps/mach/hurd/open_nocancel.c, sysdeps/mach/hurd/openat_nocancel.c: New files. --- sysdeps/mach/hurd/Versions | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sysdeps/mach/hurd/Versions') diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions index e8b4aba776..67594d8c08 100644 --- a/sysdeps/mach/hurd/Versions +++ b/sysdeps/mach/hurd/Versions @@ -13,6 +13,7 @@ libc { GLIBC_PRIVATE { # Functions shared with the dynamic linker __access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64; + __open_nocancel; __read_nocancel; __pread64_nocancel; __write_nocancel; __libc_lock_self0; __getcwd; @@ -54,6 +55,7 @@ ld { # functions that must be shared with libc __access; __access_noerrno; __libc_read; __libc_write; __libc_lseek64; + __open_nocancel; __read_nocancel; __pread64_nocancel; __write_nocancel; __libc_lock_self0; __getcwd; -- cgit 1.4.1