hurd: Make read and pread64 cancellable

System Internals / glibc - Samuel Thibault [ens-lyon.org] - 7 June 2020 23:36 UTC

and add _nocancel variants.

- sysdeps/mach/hurd/pread64.c (__libc_pread64): Call __pread64_nocancel surrounded by enabling async cancel, to replace implementation moved to...
- sysdeps/mach/hurd/pread64_nocancel.c (__pread64_nocancel): ... here.
- sysdeps/mach/hurd/read.c (__libc_read): Call __read_nocancel surrounded by enabling async cancel, to replace implementation moved to...
- sysdeps/mach/hurd/read_nocancel.c (__read_nocancel): ... here.
- sysdeps/mach/hurd/Makefile (sysdep_routines): Add read_nocancel and pread64_nocancel.
- sysdeps/mach/hurd/not-cancel.h (__read_nocancel, __pread64_nocancel): Replace macros with prototypes with a hidden proto on libc.

- sysdeps/mach/hurd/dl-sysdep.c: Include . (__pread64_nocancel): New alias, check that it is not hidden. (__read_nocancel): New alias, check that it is not hidden.

- sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add __read_nocancel and __pread64_nocancel. (ld.GLIBC_2.1): Add __pread64. (ld.GLIBC_PRIVATE): Add __read_nocancel and __pread64_nocancel.
- sysdeps/mach/hurd/i386/ld.abilist (__pread64): Add symbol.
- sysdeps/mach/hurd/i386/localplt.data (__read_nocancel, __pread64, __pread64_nocancel): Add references.

3944c61bdf hurd: Make read and pread64 cancellable
sysdeps/mach/hurd/Makefile | 3 ++-
sysdeps/mach/hurd/Versions | 6 ++++++
sysdeps/mach/hurd/dl-sysdep.c | 5 +++++
sysdeps/mach/hurd/i386/ld.abilist | 1 +
sysdeps/mach/hurd/i386/localplt.data | 5 ++++-
sysdeps/mach/hurd/not-cancel.h | 14 +++++++++-----
sysdeps/mach/hurd/pread64.c | 16 +++++++---------
sysdeps/mach/hurd/pread64_nocancel.c | 35 +++++++++++++++++++++++++++++++++++
sysdeps/mach/hurd/read.c | 12 +++++++-----
sysdeps/mach/hurd/read_nocancel.c | 30 ++++++++++++++++++++++++++++++
10 files changed, 106 insertions(+), 21 deletions(-)

Upstream: sourceware.org


  • Share