Subj : pthread_cond to create sema? To : comp.programming.threads From : Paolo Date : Tue Jan 18 2005 07:15 pm Are these P() and V() correct if i want to implement semaphores p() and v() functions? messagecounter is a global int variable, semaforo is a mutex used only here sema is a cond variable #define P() {\ pthread_mutex_lock(&semaforo);\ while ( TW_messagecounter <= 0) {\ pthread_cond_wait(&sema, &semaforo);\ }\ messagecounter--;\ pthread_mutex_unlock(&semaforo);\ } #define V() {\ pthread_mutex_lock(&semaforo);\ messagecounter++;\ pthread_cond_signal(&sema);\ pthread_mutex_unlock(&semaforo);\ } Thank you! Paolo .