What are advantages/disadvantages of using
sem_wait() and sem_post() instead of
pthread_cond_wait() and pthread_cond_broadcast()
for sincronizing pthreads?
I guess but please correct me:
Advantages:
(1) sem_wait()/post() are more flexible and do not need to be surrounded by mutex lock/unlock
(2) as a consequence sem_wait() can be used inside signal handlers or async call backs (pthread_cond need pthread_mutex which is not signal handler safe)
Disadvantages:
(1) sem_wait()/post are slower? How much slower?