A condition variable is used by a data structure such as a mutex to signal that a value can be written to.

This might be done by polling pthread_cond_signal(&v) to update the variable, and taking an action if it is set to true.