Results 1 to 1 of 1
Hi,
I am getting following assertion in my application:
pthread_mutex_lock.c:275: __pthread_mutex_lock: Assertion `(e) != 35 || (kind != PTHREAD_MUTEX_ERRORCHECK_NP && kind != PTHREAD_MUTEX_RECURSIVE_NP)' failed.
Now, all my mutexes are of ...
- 05-28-2010 #1Just Joined!
- Join Date
- May 2010
- Posts
- 1
pthread_mutex_lock returning EDEADLK for a mutex of type PTHREAD_MUTEX_RECURSIVE
Hi,
I am getting following assertion in my application:
pthread_mutex_lock.c:275: __pthread_mutex_lock: Assertion `(e) != 35 || (kind != PTHREAD_MUTEX_ERRORCHECK_NP && kind != PTHREAD_MUTEX_RECURSIVE_NP)' failed.
Now, all my mutexes are of type PTHREAD_MUTEX_RECURSIVE and as per all the man pages/tutorials, EDEADLK error is to be returned for mutex of type PTHREAD_MUTEX_ERRORCHECK ONLY.
So I really should not be hitting this assertion.
Would some kinda weird memory corruption be causing this? Or is there something more to it that I am not aware of.
I am using linux kernel 2.6.2, glibc 2.5 on PPC.
Thanks in advance.
Nikhil


Reply With Quote