#include #include int main (int argc, char **argv) { pthread_mutex_t m=PTHREAD_MUTEX_INITIALIZER; if(pthread_mutex_lock(&m)==0) printf("locked mutex\n"); else printf("failed to lock mutex\n"), exit(1); if(pthread_mutex_trylock(&m)==0) printf("locked again\n"); else printf("failed to lock again\n"); return 0; } --- [root@grieg new]# rm -f t; gcc -o t t.c -lpthread; ldd t; ./t libpthread.so.0 => /lib/tls/libpthread.so.0 (0x009bb000) libc.so.6 => /lib/tls/libc.so.6 (0x007f5000) /lib/ld-linux.so.2 (0x007dc000) locked mutex failed to lock again --- [root@grieg new]# rm -f t; gcc -o t t.c -pthread; ldd t; ./t libpthread.so.0 => /lib/tls/libpthread.so.0 (0x009bb000) libc.so.6 => /lib/tls/libc.so.6 (0x007f5000) /lib/ld-linux.so.2 (0x007dc000) locked mutex failed to lock again