pthreads: pthread_cond_signal () desde dentro de la sección crítica

Tengo el siguiente fragmento de código en el hilo A, que bloquea usandopthread_cond_wait()

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

Tengo el siguiente fragmento de código en el subproceso B, que señala el subproceso A

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

Siempre que no haya otros hilos, ¿haría alguna diferencia sipthread_cond_signal(&my_wait) ¿Se mueve fuera del bloque de sección crítica como se muestra a continuación?

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

Respuestas a la pregunta(5)

Su respuesta a la pregunta