diff options
author | Christopher Faylor <me@cgf.cx> | 2010-02-12 23:07:13 +0300 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2010-02-12 23:07:13 +0300 |
commit | 2b1407d372f69777ee4949b9e41cf1a1e87810be (patch) | |
tree | 8472fb355cf864fb0305daa8b7528f4176a64f60 /winsup/cygwin/thread.h | |
parent | 97e5d3ffa4bf04157850d82e66d4744610067c25 (diff) |
* pthread.cc (pthread_mutex_init): Explicitly fill out third arg to
pthread_mutex::init.
* thread.cc: Remov some obsolete comments.
(verifyable_object_isvalid): Reflect change to use thread_magic_t for magic
numbers.
(pthread_mutex::pthread_mutex): Set magic number to invalid initially until
we've verified that everything is valid.
(pthread_mutex::unlock): Fix a comment.
(verifyable_object::verifyable_object): Delete here.
(~verifyable_object::~verifyable_object): Ditto.
(pthread_mutex::init): Don't run is_good_initializer for non-static objects.
* thread.h (thread_magic_t): New typedef.
(verifyable_object::verifyable_object): Use thread_magic_t;
(verifyable_object::magic): Ditto.
(pthread_mutex::is_good_initializer_or_bad_object): Remove unneeded variable
names.
(pthread_mutex::can_be_unlocked): Ditto.
(pthread_mutex::init): Ditto. Remove default for third argument.
Diffstat (limited to 'winsup/cygwin/thread.h')
-rw-r--r-- | winsup/cygwin/thread.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index 21d278dae..17f3b59cb 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -100,15 +100,17 @@ class pinfo; #define MUTEX_OWNER_ANONYMOUS ((pthread_t) -1) +typedef unsigned long thread_magic_t; + /* verifyable_object should not be defined here - it's a general purpose class */ class verifyable_object { public: - long magic; + thread_magic_t magic; - verifyable_object (long); - virtual ~verifyable_object (); + verifyable_object (thread_magic_t verifyer): magic (verifyer) {} + virtual ~verifyable_object () { magic = 0; } }; typedef enum @@ -268,11 +270,11 @@ public: static bool is_good_object (pthread_mutex_t const *); static bool is_good_initializer (pthread_mutex_t const *); static bool is_good_initializer_or_object (pthread_mutex_t const *); - static bool is_good_initializer_or_bad_object (pthread_mutex_t const *mutex); - static bool can_be_unlocked (pthread_mutex_t const *mutex); + static bool is_good_initializer_or_bad_object (pthread_mutex_t const *); + static bool can_be_unlocked (pthread_mutex_t const *); static void init_mutex (); - static int init (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr, - const pthread_mutex_t initializer = NULL); + static int init (pthread_mutex_t *, const pthread_mutexattr_t *attr, + const pthread_mutex_t); unsigned long lock_counter; HANDLE win32_obj_id; |