]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Added test for recursive writer locking.
authorBart Van Assche <bvanassche@acm.org>
Mon, 3 Mar 2008 17:40:31 +0000 (17:40 +0000)
committerBart Van Assche <bvanassche@acm.org>
Mon, 3 Mar 2008 17:40:31 +0000 (17:40 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7548

exp-drd/tests/trylock.c
exp-drd/tests/trylock.stderr.exp

index 8431c0c940f3ac8dbe8b2f6e0597babefba0711b..9c6dea2790d7e5dfb91eb5ad56fa55096e0328c8 100644 (file)
@@ -48,6 +48,10 @@ int main(int argc, char** argv)
   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);
index 777b17c154303ced3c98290733f13957a4f49dd2..e49782834b6d225267ad9e4a5cae64aded787e5d 100644 (file)
@@ -5,8 +5,12 @@ Locking rwlock via pthread_rwlock_timedwrlock().
 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)