diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-05-05 17:15:57 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-05-05 17:19:32 +0200 |
commit | ce0b7961ae400e5aeff28d54dc14955199947b74 (patch) | |
tree | 3e7acb0eb6915c2c3af747dd9d982d4dc3418b78 /nptl/pthread_create.c | |
parent | 0197c1bc604e1d6357cfa07a75ab73bababa7f0f (diff) | |
download | glibc-ce0b7961ae400e5aeff28d54dc14955199947b74.zip glibc-ce0b7961ae400e5aeff28d54dc14955199947b74.tar.gz glibc-ce0b7961ae400e5aeff28d54dc14955199947b74.tar.bz2 |
nptl: Consolidate async cancel enable/disable implementation in libc
Previously, the source file nptl/cancellation.c was compiled multiple
times, for libc, libpthread, librt. This commit switches to a single
implementation, with new __pthread_enable_asynccancel@@GLIBC_PRIVATE,
__pthread_disable_asynccancel@@GLIBC_PRIVATE exports.
The almost-unused CANCEL_ASYNC and CANCEL_RESET macros are replaced
by LIBC_CANCEL_ASYNC and LIBC_CANCEL_ASYNC macros. They call the
__pthread_* functions unconditionally now. The macros are still
needed because shared code uses them; Hurd has different definitions.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/pthread_create.c')
-rw-r--r-- | nptl/pthread_create.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index d89a83b..775287d 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -353,7 +353,7 @@ START_THREAD_DEFN have ownership (see CONCURRENCY NOTES above). */ if (__glibc_unlikely (pd->stopped_start)) { - int oldtype = CANCEL_ASYNC (); + int oldtype = LIBC_CANCEL_ASYNC (); /* Get the lock the parent locked to force synchronization. */ lll_lock (pd->lock, LLL_PRIVATE); @@ -363,7 +363,7 @@ START_THREAD_DEFN /* And give it up right away. */ lll_unlock (pd->lock, LLL_PRIVATE); - CANCEL_RESET (oldtype); + LIBC_CANCEL_RESET (oldtype); } LIBC_PROBE (pthread_start, 3, (pthread_t) pd, pd->start_routine, pd->arg); |