FreeBSD regtest: add missing helgrind expecteds
[valgrind.git] / helgrind / tests / tc13_laog1.c
blobe42ca985f9fbafda7ce8738d30822dcd83e6f1c3
2 #include <pthread.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <assert.h>
7 /* The simplest possible test that triggers a lock order acquisition
8 error. */
10 int main ( void )
12 int r;
13 pthread_mutex_t mx1, mx2;
14 r = pthread_mutex_init( &mx1, NULL ); assert(r==0);
15 r = pthread_mutex_init( &mx2, NULL ); assert(r==0);
17 r = pthread_mutex_lock( &mx1 ); assert(r==0);
18 r = pthread_mutex_lock( &mx2 ); assert(r==0);
20 r = pthread_mutex_unlock( &mx1 ); assert(r==0);
21 r = pthread_mutex_unlock( &mx2 ); assert(r==0);
23 r = pthread_mutex_lock( &mx2 ); assert(r==0); /* error */
24 r = pthread_mutex_lock( &mx1 ); assert(r==0);
26 r = pthread_mutex_unlock( &mx1 ); assert(r==0);
27 r = pthread_mutex_unlock( &mx2 ); assert(r==0);
29 r = pthread_mutex_destroy( &mx1 );
30 r = pthread_mutex_destroy( &mx2 );
32 return 0;