--- thread.cc.org Sun Oct 6 03:00:23 2002 +++ thread.cc Thu Oct 17 10:28:32 2002 @@ -1356,12 +1356,12 @@ verifyable_object_state verifyable_object_isvalid (void const * objectptr, long magic, void *static_ptr) { verifyable_object **object = (verifyable_object **)objectptr; + if (static_ptr && *object == static_ptr) + return VALID_STATIC_OBJECT; if (check_valid_pointer (object)) return INVALID_OBJECT; if (!*object) return INVALID_OBJECT; - if (static_ptr && *object == static_ptr) - return VALID_STATIC_OBJECT; if (check_valid_pointer (*object)) return INVALID_OBJECT; if ((*object)->magic != magic) @@ -2257,7 +2257,7 @@ pthread_mutex::init (pthread_mutex_t *mu return EINVAL; /* FIXME: bugfix: we should check *mutex being a valid address */ - if (isGoodObject (mutex)) + if (!isGoodInitializer (mutex) && isGoodObject (mutex)) { mutexInitializationLock.unlock (); return EBUSY;