- #ifdef USE_PTHREADS
- DEBUG2("**[%p:%p]** Lock ****",context,(void*)pthread_self());
- pthread_mutex_lock(&(context->mutex));
-
- DEBUG2("**[%p:%p]** Releasing the prisonner ****",context,(void*)pthread_self());
- pthread_cond_signal(&(context->cond));
-
- DEBUG2("**[%p:%p]** Going to Jail ****",context,(void*)pthread_self());
- pthread_cond_wait(&(context->cond), &(context->mutex));
-
- DEBUG2("**[%p:%p]** Unlocking ****",context,(void*)pthread_self());
- pthread_mutex_unlock(&(context->mutex));
-
- #elif defined(USE_WIN_THREADS)
- DEBUG2("**[%p:%p]** Lock ****",context,(void*)win_thread_self());
- win_thread_mutex_lock(&(context->mutex));
-
- DEBUG2("**[%p:%p]** Releasing the prisonner ****",context,(void*)win_thread_self());
- win_thread_cond_signal(&(context->cond));
-
- DEBUG2("**[%p:%p]** Going to Jail ****",context,(void*)win_thread_self());
- win_thread_cond_wait(&(context->cond), &(context->mutex));
-
- DEBUG2("**[%p:%p]** Unlocking ****",context,(void*)win_thread_self());
- win_thread_mutex_unlock(&(context->mutex));
-