hurd: make open and openat cancellation points

System Internals / glibc - Samuel Thibault [ens-lyon.org] - 28 June 2020 15:11 UTC

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.

4cafcd839f hurd: make open and openat cancellation points
sysdeps/mach/hurd/Makefile | 3 +-
sysdeps/mach/hurd/Versions | 2 ++
sysdeps/mach/hurd/dl-sysdep.c | 2 ++
sysdeps/mach/hurd/i386/localplt.data | 3 +-
sysdeps/mach/hurd/not-cancel.h | 22 +++++++++------
sysdeps/mach/hurd/open.c | 5 ++++
sysdeps/mach/hurd/open_nocancel.c | 51 +++++++++++++++++++++++++++++++++
sysdeps/mach/hurd/openat.c | 5 ++++
sysdeps/mach/hurd/openat_nocancel.c | 55 ++++++++++++++++++++++++++++++++++++
9 files changed, 138 insertions(+), 10 deletions(-)

Upstream: sourceware.org


  • Share