2002-09-21 Robert Collins <rbtcollins@hotmail.com>
* thread.cc: Change verifyable_object_isvalid calls with
PTHREAD_MUTEX_MAGIC and PTHREAD_KEY_MAGIC and PTHREAD_ATTR_MAGIC to
::isGoodObject() calls throughout.
(MTinterface::Init): Remove dead code.
(pthread_attr::isGoodObject): Implement.
(pthread_key::isGoodObject): Implement.
(pthread_mutex::isGoodObject): Implement.
(pthread_mutex::isGoodInitializerOrObject): Implement.
(pthread::isGoodObject): Update signature.
* thread.h (pthread_key::isGoodObject): Declare.
(pthread_attr::isGoodObject): Ditto.
(pthread_mutex::isGoodObject): Ditto.
(pthread_mutex::isGoodInitializerOrObject): Ditto.
(pthread::isGoodObject): Change to a const parameter for const
correctness.
(pthread_mutexattr::isGoodObject): Declare.
(pthread_condattr::isGoodObject): Ditto.
(pthread_cond::isGoodObject): Ditto.
(semaphore::isGoodObject): Ditto.
This commit is contained in:
@@ -176,6 +176,7 @@ verifyable_object_state verifyable_object_isvalid (void const *, long, void *);
|
||||
class pthread_key:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject (pthread_key_t const *);
|
||||
|
||||
DWORD dwTlsIndex;
|
||||
void *fork_buf;
|
||||
@@ -228,6 +229,7 @@ private:
|
||||
class pthread_attr:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(pthread_attr_t const *);
|
||||
int joinable;
|
||||
int contentionscope;
|
||||
int inheritsched;
|
||||
@@ -241,6 +243,7 @@ public:
|
||||
class pthread_mutexattr:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(pthread_mutexattr_t const *);
|
||||
int pshared;
|
||||
int mutextype;
|
||||
pthread_mutexattr ();
|
||||
@@ -250,6 +253,8 @@ public:
|
||||
class pthread_mutex:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(pthread_mutex_t const *);
|
||||
static bool isGoodInitializerOrObject(pthread_mutex_t const *);
|
||||
CRITICAL_SECTION criticalsection;
|
||||
HANDLE win32_obj_id;
|
||||
LONG condwaits;
|
||||
@@ -290,7 +295,7 @@ public:
|
||||
virtual ~pthread ();
|
||||
|
||||
static void initMainThread(pthread *, HANDLE);
|
||||
static bool isGoodObject(pthread_t *);
|
||||
static bool isGoodObject(pthread_t const *);
|
||||
static void atforkprepare();
|
||||
static void atforkparent();
|
||||
static void atforkchild();
|
||||
@@ -356,6 +361,7 @@ class pthreadNull : public pthread
|
||||
class pthread_condattr:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(pthread_condattr_t *);
|
||||
int shared;
|
||||
|
||||
pthread_condattr ();
|
||||
@@ -365,6 +371,7 @@ public:
|
||||
class pthread_cond:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(pthread_cond_t *);
|
||||
int shared;
|
||||
LONG waiting;
|
||||
LONG ExitingWait;
|
||||
@@ -393,6 +400,7 @@ public:
|
||||
class semaphore:public verifyable_object
|
||||
{
|
||||
public:
|
||||
static bool isGoodObject(semaphore **);
|
||||
HANDLE win32_obj_id;
|
||||
class semaphore * next;
|
||||
int shared;
|
||||
|
||||
Reference in New Issue
Block a user