glibc/sysdeps/posix
Adhemerval Zanella ce7eb0e903 nptl: Cleanup cancellation macros
This patch wraps all uses of *_{enable,disable}_asynccancel and
and *_CANCEL_{ASYNC,RESET} in either already provided macros
(lll_futex_timed_wait_cancel) or creates new ones if the
functionality is not provided (SYSCALL_CANCEL_NCS, lll_futex_wait_cancel,
and lll_futex_timed_wait_cancel).

Also for some generic implementations, the direct call of the macros
are removed since the underlying symbols are suppose to provide
cancellation support.

This is a priliminary patch intended to simplify the work required
for BZ#12683 fix.  It is a refactor change, no semantic changes are
expected.

Checked on x86_64-linux-gnu and i686-linux-gnu.

	* nptl/pthread_join_common.c (__pthread_timedjoin_ex): Use
	lll_wait_tid with timeout.
	* nptl/sem_wait.c (__old_sem_wait): Use lll_futex_wait_cancel.
	* sysdeps/nptl/aio_misc.h (AIO_MISC_WAIT): Use
	futex_reltimed_wait_cancelable for cancelabla mode.
	* sysdeps/nptl/gai_misc.h (GAI_MISC_WAIT): Likewise.
	* sysdeps/posix/open64.c (__libc_open64): Do not call cancelation
	macros.
	* sysdeps/posix/sigwait.c (__sigwait): Likewise.
	* sysdeps/posix/waitid.c (__sigwait): Likewise.
	* sysdeps/unix/sysdep.h (__SYSCALL_CANCEL_CALL,
	SYSCALL_CANCEL_NCS): New macro.
	* sysdeps/nptl/lowlevellock.h (lll_wait_tid): Add timeout argument.
	(lll_timedwait_tid): Remove macro.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_wait_tid):
	Likewise.
	(lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_wait_tid):
	Likewise.
	(lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_wait_tid):
	Likewise.
	(lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/clock_nanosleep.c (__clock_nanosleep):
	Use INTERNAL_SYSCALL_CANCEL.
	* sysdeps/unix/sysv/linux/futex-internal.h
	(futex_reltimed_wait_cancelable): Use LIBC_CANCEL_{ASYNC,RESET}
	instead of __pthread_{enable,disable}_asynccancel.
	* sysdeps/unix/sysv/linux/lowlevellock-futex.h
	(lll_futex_wait_cancel): New macro.
2019-01-03 18:38:16 -02:00
..
Makefile NPTL: Refactor named semaphore code to use shm-directory.h 2014-12-12 15:01:30 -08:00
Subdirs Make sysdeps/posix bring in login subdir. 2015-07-23 17:04:22 -07:00
alarm.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
clock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
clock_getres.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
closedir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dirfd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dirstream.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dl-fileid.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dup.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
euidaccess.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fdopendir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
flock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fpathconf.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gai_strerror-strs.h * sysdeps/posix/gai_strerror.c: Complete rewrite. Avoid relocations. 2005-12-20 17:53:00 +00:00
gai_strerror.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getaddrinfo.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getdtsz.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gethostname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
isatty.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
isfdtype.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
killpg.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkfifo.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkfifoat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
nice.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
open64.c nptl: Cleanup cancellation macros 2019-01-03 18:38:16 -02:00
opendir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pathconf.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pause.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pread64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv64v2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv_common.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
profil.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwrite.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwrite64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev64v2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev_common.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
raise.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readdir_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readv.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
rewinddir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
seekdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shm-directory.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shm-directory.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shm_open.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shm_unlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigblock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigignore.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigintr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
signal.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigpause.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
sigset.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigsetmask.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigsuspend.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigwait.c nptl: Cleanup cancellation macros 2019-01-03 18:38:16 -02:00
sleep.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
spawni.c posix: Clear close-on-exec for posix_spawn adddup2 (BZ#23640) 2019-01-03 14:38:01 -02:00
sprofil.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
system.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sysv_signal.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
telldir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
time.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
timespec_get.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
truncate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ttyname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ttyname_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ulimit.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
usleep.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utime.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
wait.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
wait3.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
waitid.c nptl: Cleanup cancellation macros 2019-01-03 18:38:16 -02:00
writev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00