diff options
author | Thomas Pfaff <tpfaff@gmx.net> | 2004-03-04 21:04:14 +0000 |
---|---|---|
committer | Thomas Pfaff <tpfaff@gmx.net> | 2004-03-04 21:04:14 +0000 |
commit | b95ae5046127940693f0a819dcedb08e383011da (patch) | |
tree | 520e6b71eecdc8a4b27dd1af03987ba363fbef2e /winsup/cygwin/thread.h | |
parent | 08b0a057eb40204cd187e898b272b09eaec47391 (diff) | |
download | newlib-b95ae5046127940693f0a819dcedb08e383011da.zip newlib-b95ae5046127940693f0a819dcedb08e383011da.tar.gz newlib-b95ae5046127940693f0a819dcedb08e383011da.tar.bz2 |
* include/pthread.h (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP):
New define.
(PTHREAD_NORMAL_MUTEX_INITIALIZER_NP): Ditto.
(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Ditto.
* thread.cc (pthread_mutex::is_good_initializer):
Check for all posssible initializers
(pthread_mutex::is_good_initializer_or_object): Ditto.
(pthread_mutex::is_good_initializer_or_bad_object): Ditto.
(verifyable_object_isvalid): Support up to three static
initializers.
(verifyable_object_isvalid (void const *,long)): Remove.
(pthread_cond::is_good_initializer_or_bad_object): Remove
unneeded objectState var.
(pthread_cond::init): Condition remains unchanged when creation
has failed.
(pthread_rwlock::is_good_initializer_or_bad_object): Remove
unneeded objectState var.
(pthread_rwlock::init): Rwlock remains unchanged when creation
has failed.
(pthread_mutex::init): Remove obsolete comment.
Mutex remains unchanged when creation has failed. Add support
for new initializers.
(pthread_mutex_getprioceiling): Do not create mutex,
just return ENOSYS.
(pthread_mutex_lock): Simplify.
(pthread_mutex_trylock): Remove unneeded local themutex.
(pthread_mutex_unlock): Just return EPERM if mutex is not
initialized.
(pthread_mutex_setprioceiling): Do not create mutex,
just return ENOSYS.
* thread.h (verifyable_object_isvalid): Support up to three
static initializers.
(verifyable_object_isvalid (void const *,long)): Remove
prototype.
(pthread_mutex::init): Add optional initializer to parameter
list.
Diffstat (limited to 'winsup/cygwin/thread.h')
-rw-r--r-- | winsup/cygwin/thread.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index e5a0bcc..02eac18 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -120,8 +120,10 @@ typedef enum VALID_STATIC_OBJECT } verifyable_object_state; -verifyable_object_state verifyable_object_isvalid (void const *, long); -verifyable_object_state verifyable_object_isvalid (void const *, long, void *); +verifyable_object_state verifyable_object_isvalid (void const * objectptr, long magic, + void *static_ptr1 = NULL, + void *static_ptr2 = NULL, + void *static_ptr3 = NULL); template <class list_node> inline void List_insert (list_node *&head, list_node *node) @@ -276,7 +278,8 @@ public: static bool is_good_initializer_or_bad_object (pthread_mutex_t const *mutex); static bool can_be_unlocked (pthread_mutex_t const *mutex); static void init_mutex (); - static int init (pthread_mutex_t *, const pthread_mutexattr_t *); + static int init (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr, + const pthread_mutex_t initializer = NULL); unsigned long lock_counter; HANDLE win32_obj_id; |