1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-05-01 12:04:52 +03:00
Adhemerval Zanella 4735850f7a nptl: Consolidate pthread_{timed,try}join{_np}
This patch consolidates the pthread_join and gnu extensions to avoid
code duplication.  The function pthread_join, pthread_tryjoin_np, and
pthread_timedjoin_np are now based on pthread_timedjoin_ex.

It also fixes some inconsistencies on ESRCH, EINVAL, EDEADLK handling
(where each implementation differs from each other) and also on
clenup handler (which now always use a CAS).

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

	* nptl/pthreadP.h (__pthread_timedjoin_np): Define.
	* nptl/pthread_join.c (pthread_join): Use __pthread_timedjoin_np.
	* nptl/pthread_tryjoin.c (pthread_tryjoin): Likewise.
	* nptl/pthread_timedjoin.c (cleanup): Use CAS on argument setting.
	(pthread_timedjoin_np): Define internal symbol and common code from
	pthread_join.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_timedwait_tid):
	Remove superflous checks.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_timedwait_tid):
	Likewise.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2017-12-20 11:32:54 -02:00
..
2017-08-08 08:43:15 -07:00
2014-07-07 09:29:06 -07:00
2017-11-09 05:10:03 -08:00
2016-11-30 16:23:58 +01:00
2015-11-06 13:58:53 +01:00
2017-12-07 00:48:31 +00:00
2015-11-06 13:58:53 +01:00
2015-11-06 13:58:53 +01:00
2017-12-07 00:48:31 +00:00
2015-11-06 13:58:53 +01:00
2015-11-06 13:58:53 +01:00
2015-11-06 13:58:53 +01:00
2015-11-06 13:58:53 +01:00
2015-11-06 13:58:53 +01:00
2017-08-18 18:38:55 -03:00
2017-08-08 08:43:15 -07:00