This is the normal sequence for LinuxThreads pthread_mutex_lock(). I would guess that you've got a very subtle bug that is causing a deadlock when you compile and run with debugging turned on.
I'd go through the code and find all the possible ways in which you could have nested mutex locks, and see if you find any two sequences that contain a pair in reversed order. These will be the potential deadlocks. Or, if it's feasible, could you put a cout around all your locks and unlocks to see what two mutices are deadlocked?
It sure sounds like a deadlock, not something wrong with the call.
Ajay Bansal writes:
may be somebody over here can answer this
From: Ajay Bansal Sent: Thursday, March 06, 2003 9:36 PM
Subject: pthread_mutex_lock call hangs
I am on RH73, gcc 3.2.1
I have a scenario in which, only if the code is in debug mode,
pthread_mutex_lock call hangs. following is the trace given by pstack
0x420292e5: __sigsuspend + 0x21 (bfffd52c, 20, bfffd52c, 404e3ef5,
10000, 10) + 90
0x404d7679: __pthread_wait_for_restart_signal + 0x59 (404e00a0,
402f6b14, 402ee2c4, 404d945e, 18, 40c4ecc4) + 50
0x404d94b9: __pthread_alt_lock + 0x69 (8100108, 0, 402c2234, 404d60be,
0, 4000b022) + 10
0x404d6116: __pthread_mutex_lock + 0x66 (81000f8, 400, 40ac7bac, 400,
What could be the reason. Please note that the code works great if has
been built in the release mode.
_______________________________________________ Redhat-devel-list mailing list Redhatfirstname.lastname@example.org https://listman.redhat.com/mailman/listinfo/redhat-devel-list