マルチスレッドのプログラミング

cond_signal(3THR)


#include <thread.h>

int cond_signal(cond_t *cv);

cond_signal(3THR) は、cv が指す条件変数でブロックされている 1 つのスレッドのブロックを解除します。この関数は、シグナルを送ろうとしている条件変数で使用されたのと同じ相互排他ロックを獲得した状態で呼び出してください。そうしないと、関連する条件が評価されてから cond_wait() でブロック状態に入るまでの間に、条件変数にシグナルが送られる可能性があります。この場合、cond_wait() は永久に待ち続けることになります。