What are the pros / cons of using `pthread_cond_wait` or using a semaphore ?
I am waiting for a state change like this :

```
pthread_mutex_lock(&cam->video_lock);
while(cam->status == WAIT_DISPLAY) {
    pthread_cond_wait(&cam->video_cond, &cam->video_lock);
}
pthread_mutex_unlock(&cam->video_lock);

```

Using a properly initialised semaphore, I think I could do it like this :

```
while(cam->status == WAIT_DISPLAY) {
    sem_wait(&some_semaphore);
}

```

What are the pros and cons of each method ?