pthreads : pthread_cond_signal() dans la section critique

J'ai le morceau de code suivant dans Un thread, ce qui bloque l'utilisation de pthread_cond_wait()

pthread_mutex_lock(&my_lock);     
if ( false == testCondition )        
    pthread_cond_wait(&my_wait,&my_lock); 
pthread_mutex_unlock(&my_lock);

J'ai le morceau de code suivant dans le fil B, qui signale Un thread

pthread_mutex_lock(&my_lock);  
testCondition = true;
pthread_cond_signal(&my_wait);
pthread_mutex_unlock(&my_lock);

Il n'existe pas d'autres fils, serait-il une différence si pthread_cond_signal(&my_wait) est déplacé hors de la section critique bloc comme indiqué ci-dessous ?

pthread_mutex_lock(&my_lock);  
testCondition = true;
pthread_mutex_unlock(&my_lock);
pthread_cond_signal(&my_wait);

OriginalL'auteur curryage | 2009-10-28