fprintf(stderr, "Locking rwlock via pthread_rwlock_timedrdlock().\n");
r = pthread_rwlock_timedrdlock(&rwlock, &abs_timeout); assert(r == 0);
r = pthread_rwlock_unlock(&rwlock); assert(r == 0);
+ fprintf(stderr, "Attempt to lock for writing recursively (not allowed).\n");
+ r = pthread_rwlock_wrlock(&rwlock); assert(r == 0);
+ r = pthread_rwlock_wrlock(&rwlock); assert(r != 0);
+ r = pthread_rwlock_unlock(&rwlock); assert(r == 0);
r = pthread_rwlock_destroy(&rwlock); assert(r == 0);
r = pthread_mutex_init(&mutex, NULL); assert(r == 0);
Locking rwlock via pthread_rwlock_rdlock().
Locking rwlock via pthread_rwlock_tryrdlock().
Locking rwlock via pthread_rwlock_timedrdlock().
+Attempt to lock for writing recursively (not allowed).
+Recursive writer locking not allowed: rwlock 0x.........
+ at 0x........: pthread_rwlock_wrlock* (drd_intercepts.c:?)
+ by 0x........: main (trylock.c:?)
Locking mutex via pthread_mutex_trylock().
Locking mutex via pthread_mutex_lock().
Locking mutex via pthread_mutex_timedlock().
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)