+2006-03-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * thread.cc (pthread_cond::init): Disable validity test of object
+ to initialize since test of uninitialized content is unreliable.
+ (pthread_rwlock::init): Ditto.
+ (pthread_mutex::init): Ditto.
+
2006-03-21 Christopher Faylor <cgf@timesys.com>
* signal.cc (signal): Don't set SA_RESTART here.
return EINVAL;
cond_initialization_lock.lock ();
-
+#if 0
+ /* Disabled since recognition of a valid object doesn't work reliably
+ if the object is uninitialized. */
if (!is_good_initializer_or_bad_object (cond))
{
cond_initialization_lock.unlock ();
return EBUSY;
}
-
+#endif
new_cond = new pthread_cond (attr ? (*attr) : NULL);
if (!is_good_object (&new_cond))
{
return EINVAL;
rwlock_initialization_lock.lock ();
-
+#if 0
+ /* Disabled since recognition of a valid object doesn't work reliably
+ if the object is uninitialized. */
if (!is_good_initializer_or_bad_object (rwlock))
{
rwlock_initialization_lock.unlock ();
return EBUSY;
}
-
+#endif
new_rwlock = new pthread_rwlock (attr ? (*attr) : NULL);
if (!is_good_object (&new_rwlock))
{
return EINVAL;
mutex_initialization_lock.lock ();
-
+#if 0
+ /* Disabled since recognition of a valid object doesn't work reliably
+ if the object is uninitialized. */
if (!is_good_initializer_or_bad_object (mutex))
{
mutex_initialization_lock.unlock ();
return EBUSY;
}
-
+#endif
new_mutex = new pthread_mutex (attr ? (*attr) : NULL);
if (!is_good_object (&new_mutex))
{