Robert Collins
86336f4fea
Sat Sep 29 18:26:00 2001 Robert Collins <rbtcollins@hotmail.com>
* pthread.cc (pthread_cond_timedwait): Deleted - exported from thread.cc.
(pthread_cond_wait): Deleted - exported from thread.cc.
* thread.cc (pthread_cond::BroadCast): Update to use the new syntax for
verifyable_object_isvalid ().
(pthread_cond::Signal): Ditto. Also attempt to fix the lost signal race
with pthread_cond::TimedWait().
(check_valid_pointer): Change definiton to void const *.
(verifyable_object_isvalid): Add new parameter to allow identification of
static initializers, and return a enum rather than magic numbers.
(__pthread_create): Ditto.
(__pthread_cleanup): Ditto.
(__pthread_attr_init): Ditto.
(__pthread_attr_getinheritsched): Ditto.
(__pthread_attr_getschedparam): Ditto.
(__pthread_attr_getschedpolicy): Ditto.
(__pthread_attr_getscope): Ditto.
(__pthread_attr_setdetachstate): Ditto.
(__pthread_attr_getdetachstate): Ditto.
(__pthread_attr_setinheritsched): Ditto.
(__pthread_attr_setschedparam): Ditto.
(__pthread_attr_setschedpolicy): Ditto.
(__pthread_attr_setscope): Ditto.
(__pthread_attr_setstacksize): Ditto.
(__pthread_attr_getstacksize): Ditto.
(__pthread_attr_destroy): Ditto.
(__pthread_join): Ditto.
(__pthread_detach): Ditto.
(__pthread_suspend): Ditto.
(__pthread_continue): Ditto.
(__pthread_getschedparam): Ditto.
(__pthread_getsequence_np): Ditto.
(__pthread_key_create): Ditto.
(__pthread_key_delete): Ditto.
(__pthread_setschedparam): Ditto.
(__pthread_setspecific): Ditto.
(__pthread_getspecific): Ditto.
(__pthread_cond_destroy): Ditto.
(__pthread_cond_init): Ditto.
(__pthread_cond_broadcast): Ditto.
(__pthread_cond_signal): Ditto.
(__pthread_condattr_init): Ditto.
(__pthread_condattr_getpshared): Ditto.
(__pthread_condattr_setpshared): Ditto.
(__pthread_condattr_destroy): Ditto.
(__pthread_kill): Ditto.
(__pthread_mutex_init): Ditto.
(__pthread_mutex_getprioceiling): Ditto.
(__pthread_mutex_lock): Ditto.
(__pthread_mutex_trylock): Ditto.
(__pthread_mutex_unlock): Ditto.
(__pthread_mutex_destroy): Ditto.
(__pthread_mutex_setprioceiling): Ditto.
(__pthread_mutexattr_getprotocol): Ditto.
(__pthread_mutexattr_getpshared): Ditto.
(__pthread_mutexattr_gettype): Ditto.
(__pthread_mutexattr_init): Ditto.
(__pthread_mutexattr_destroy): Ditto.
(__pthread_mutexattr_setprotocol): Ditto.
(__pthread_mutexattr_setprioceiling): Ditto.
(__pthread_mutexattr_getprioceiling): Ditto.
(__pthread_mutexattr_setpshared): Ditto.
(__pthread_mutexattr_settype): Ditto.
(__sem_init): Ditto.
(__sem_destroy): Ditto.
(__sem_wait): Ditto.
(__sem_trywait): Ditto.
(__sem_post): Ditto.
(__pthread_cond_dowait): New function, contains core logic from
__pthread_cond_wait and __pthread_cond_timedwait. Decrement (*cond)->waiting
before reentering the cond access mutex to allow detection of lost signals.
(__pthread_cond_timedwait): Rename to pthread_cond_timedwait, and call
__pthread_cond_dowait after calculating the wait length.
(__pthread_cond_wait): Rename to pthread_cond_wait, and call
__pthread_cond_dowait.
* thread.h: New enum for use with verifyable_object_isvalid.
Remove the extern exporting of __pthread_cond_timedwait and __pthread_cond_wait.
2001-09-29 09:01:01 +00:00
..
2001-09-11 20:01:02 +00:00
2001-09-25 11:45:26 +00:00
2001-09-24 22:49:12 +00:00
2001-05-04 20:39:38 +00:00
2000-07-16 17:38:41 +00:00
2000-02-17 19:38:33 +00:00
2001-01-08 04:02:02 +00:00
2001-09-12 17:46:37 +00:00
2001-03-06 12:05:45 +00:00
2001-03-06 12:05:45 +00:00
2001-09-29 09:01:01 +00:00
2000-02-17 19:38:33 +00:00
2000-02-17 19:38:33 +00:00
2000-02-17 19:38:33 +00:00
2000-02-17 19:38:33 +00:00
2000-02-21 03:18:37 +00:00
2001-01-03 14:44:13 +00:00
2001-09-20 20:58:29 +00:00
2001-04-24 15:25:31 +00:00
2001-05-21 19:13:48 +00:00
2001-09-11 20:01:02 +00:00
2001-02-22 14:51:16 +00:00
2001-09-14 00:49:00 +00:00
2001-09-14 00:49:00 +00:00
2001-09-11 20:01:02 +00:00
2000-02-17 19:38:33 +00:00
2001-09-11 20:01:02 +00:00
2001-09-19 01:07:11 +00:00
2001-09-17 03:05:05 +00:00
2001-09-15 04:36:43 +00:00
2001-09-22 16:55:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-12 17:46:37 +00:00
2001-09-17 18:10:02 +00:00
2001-07-26 19:22:24 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2000-02-17 19:38:33 +00:00
2001-09-07 21:32:07 +00:00
2001-04-24 15:25:31 +00:00
2001-09-24 21:50:44 +00:00
2001-09-22 21:44:07 +00:00
2000-02-17 19:38:33 +00:00
2001-09-12 17:46:37 +00:00
2000-10-16 23:55:58 +00:00
2001-09-06 05:17:22 +00:00
2001-09-22 16:55:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-07 21:32:07 +00:00
2000-11-19 04:58:18 +00:00
2001-09-11 20:01:02 +00:00
2001-09-06 05:17:22 +00:00
2001-09-12 17:46:37 +00:00
2001-07-26 19:22:24 +00:00
2001-09-07 21:32:07 +00:00
2001-09-12 17:46:37 +00:00
2001-09-11 20:01:02 +00:00
2001-09-20 11:29:48 +00:00
2001-07-26 19:22:24 +00:00
2001-09-20 11:35:49 +00:00
2001-09-11 20:01:02 +00:00
2001-08-07 05:15:59 +00:00
2001-09-24 21:50:44 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-22 21:44:07 +00:00
2001-09-29 01:23:06 +00:00
2001-09-22 16:55:02 +00:00
2001-09-11 20:01:02 +00:00
2001-01-08 04:02:02 +00:00
2001-09-07 21:32:07 +00:00
2000-02-17 19:38:33 +00:00
2001-09-28 07:23:18 +00:00
2001-09-09 19:06:50 +00:00
2001-09-11 20:01:02 +00:00
2001-09-22 01:37:47 +00:00
2001-09-22 01:29:07 +00:00
2001-09-16 02:56:48 +00:00
2001-09-24 21:50:44 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-06 05:17:22 +00:00
2001-09-27 21:35:16 +00:00
2001-09-11 20:01:02 +00:00
2000-03-07 18:32:40 +00:00
2000-04-19 00:55:19 +00:00
2001-09-07 21:32:07 +00:00
2001-09-11 20:01:02 +00:00
2001-09-27 22:39:50 +00:00
2001-09-16 02:56:58 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-28 07:23:18 +00:00
2001-09-16 14:26:11 +00:00
2001-06-28 02:19:57 +00:00
2001-06-01 01:45:53 +00:00
2001-03-05 06:28:25 +00:00
2001-09-15 00:47:44 +00:00
2001-09-12 17:46:37 +00:00
2001-09-12 17:46:37 +00:00
2001-09-29 01:23:06 +00:00
2001-09-11 20:01:02 +00:00
2000-04-19 00:55:19 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-29 09:01:01 +00:00
2001-09-09 21:57:44 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2000-08-18 19:51:02 +00:00
2001-09-19 15:54:12 +00:00
2001-06-26 14:47:48 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-12 17:46:37 +00:00
2001-09-07 21:32:07 +00:00
2001-09-26 22:24:09 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 20:01:02 +00:00
2001-09-11 15:25:08 +00:00
2000-02-17 19:38:33 +00:00
2001-09-07 21:32:07 +00:00
2001-02-22 12:56:36 +00:00
2001-09-07 21:32:07 +00:00
2001-09-22 16:55:02 +00:00
2001-09-15 00:47:44 +00:00
2001-09-11 20:01:02 +00:00
2001-09-14 00:49:00 +00:00
2001-03-07 17:45:03 +00:00
2001-05-06 16:00:23 +00:00
2000-02-17 19:38:33 +00:00
2001-09-17 03:05:05 +00:00
2001-09-11 20:01:02 +00:00
2001-09-24 21:50:44 +00:00
2001-09-12 17:46:37 +00:00
2001-09-12 17:46:37 +00:00
2001-08-23 02:27:01 +00:00
2001-09-11 20:01:02 +00:00
2001-03-06 12:05:45 +00:00
2001-09-29 09:01:01 +00:00
2001-09-29 09:01:01 +00:00
2001-09-16 14:26:11 +00:00
2001-09-12 17:46:37 +00:00
2001-09-11 20:01:02 +00:00
2001-09-06 05:17:22 +00:00
2001-09-12 17:46:37 +00:00
2001-09-16 14:26:11 +00:00
2001-04-01 00:06:17 +00:00
2001-09-20 08:02:01 +00:00
2001-09-20 08:02:01 +00:00
2001-09-11 20:01:02 +00:00
2001-09-12 17:46:37 +00:00
2001-09-05 19:36:49 +00:00