Ulrich Drepper 1d2fc9b3c5 Redesigned how cancellation unblocks a thread from internal cancellation points (sem_wait, pthread_join, pthread_cond_{wait,timedwait}). Cancellation won't eat a signal in any of these functions (*required* by POSIX and Single Unix Spec!).
2000-01-03  Kaz Kylheku  <kaz@ashi.footprints.net>

	Redesigned how cancellation unblocks a thread from internal
	cancellation points (sem_wait, pthread_join,
	pthread_cond_{wait,timedwait}).
	Cancellation won't eat a signal in any of these functions
	(*required* by POSIX and Single Unix Spec!).
	* condvar.c: spontaneous wakeup on pthread_cond_timedwait won't eat a
	simultaneous condition variable signal (not required by POSIX
	or Single Unix Spec, but nice).
	* spinlock.c: __pthread_lock queues back any received restarts
	that don't belong to it instead of assuming ownership of lock
	upon any restart; fastlock can no longer be acquired by two threads
	simultaneously.
	* restart.h: restarts queue even on kernels that don't have
	queued real time signals (2.0, early 2.1), thanks to atomic counter,
	avoiding a rare race condition in pthread_cond_timedwait.
2000-01-05 02:09:12 +00:00
..
1999-10-31 17:37:43 +00:00
1998-06-18 17:29:11 +00:00
1999-12-18 19:45:25 +00:00
1999-10-04 07:30:05 +00:00
1998-09-23 18:52:55 +00:00
1999-01-24 10:39:22 +00:00
1999-03-01 07:21:39 +00:00
1998-02-24 15:22:29 +00:00
1996-12-21 04:13:58 +00:00
1998-03-02 18:02:11 +00:00
1998-03-02 18:02:11 +00:00
1997-03-31 22:56:24 +00:00
1998-06-18 21:50:38 +00:00
1997-03-20 02:20:57 +00:00
1997-03-20 02:20:57 +00:00
1997-03-21 20:00:48 +00:00
1999-10-07 18:22:40 +00:00
1998-07-30 12:47:25 +00:00
1998-11-26 12:02:23 +00:00
1996-05-07 21:04:52 +00:00
1997-07-24 01:36:01 +00:00
1997-07-24 01:36:01 +00:00
1997-05-26 23:01:17 +00:00
1999-10-20 03:20:31 +00:00
1997-09-21 01:47:02 +00:00
1997-06-23 21:55:26 +00:00
1999-10-01 16:09:12 +00:00
1997-09-11 12:09:10 +00:00
1999-09-17 16:59:43 +00:00
1998-07-16 11:44:36 +00:00
1997-03-31 22:56:24 +00:00
1998-08-25 11:45:26 +00:00
1998-08-25 11:45:26 +00:00
1998-03-02 18:02:11 +00:00
1999-01-16 17:09:04 +00:00
1999-10-01 16:09:12 +00:00
1997-10-12 04:05:44 +00:00
1999-04-28 23:13:52 +00:00
1997-03-31 22:56:24 +00:00
1997-03-31 22:56:24 +00:00
1999-10-01 16:09:12 +00:00
1999-10-01 16:09:12 +00:00
1997-03-31 22:56:24 +00:00
1997-03-31 22:56:24 +00:00
1997-03-31 22:56:24 +00:00
1997-03-31 22:56:24 +00:00
1997-03-31 22:56:24 +00:00
1998-03-19 14:32:08 +00:00
1998-04-03 12:07:01 +00:00
1998-03-02 18:02:11 +00:00
1998-03-02 18:02:11 +00:00
1998-05-29 10:21:16 +00:00
1999-05-17 17:25:32 +00:00