Pthread_cond_wait (& cond_t, & mutex); sbloccare e quindi bloccare il mutex?

Sto usando pthread_cond_wait(&cond_t, &mutex); nel mio programma e mi chiedo perché questa funzione abbia bisogno come secondo parametro di una variabile mutex.

Il pthread_cond_wait() sblocca il mutex all’inizio (inizio dell’esecuzione pthread_cond_wait() ) e poi bloccato quando finisce (appena prima di lasciare pthread_cond_wait() )?