Message5065
Mutex should be hold when calling
pthread_cond_signal(). This function should look like:
PyThread_release_lock(PyThread_type_lock lock)
{
pthread_lock *thelock = (pthread_lock *)lock;
int status, error = 0;
dprintf(("PyThread_release_lock(%p) called\n",
lock));
status = pthread_mutex_lock( &thelock->mut );
CHECK_STATUS("pthread_mutex_lock[3]");
thelock->locked = 0;
/* ***** call pthread_cond_signal before unlock
mutex */
status = pthread_cond_signal(
&thelock->lock_released );
CHECK_STATUS("pthread_cond_signal");
status = pthread_mutex_unlock( &thelock->mut );
CHECK_STATUS("pthread_mutex_unlock[3]");
/* wake up someone (anyone, if any) waiting on
the lock */
}
|
|
Date |
User |
Action |
Args |
2007-08-23 13:54:51 | admin | link | issue433625 messages |
2007-08-23 13:54:51 | admin | create | |
|