title: Why do pthreads’ condition variable functions require a mutex?
body: <p>I’m reading up on <code>pthread.h</code>; the condition variable related functions (like <code>pthread_cond_wait(3)</code>) require a mutex as an argument. Why? As far as I can tell, I’m going to be creating a mutex <em>just</em> to use as that argument? What is that mutex supposed to do?</p>