#include <thread.h> int cond_init(cond_t *cv, int type, int arg);
type は、次のいずれかになります。
USYNC_PROCESS。条件変数を使って、このプロセス内のスレッドとほかのプロセス内のスレッドとの間で同期をとることができます。arg は無視されます。
USYNC_THREAD。条件変数を使って、このプロセス内のスレッドの間だけで同期をとることができます。arg は無視されます。
0 に初期化されたメモリーに領域を確保することによって、条件変数を初期化することもできます。その場合は、type に USYNC_THREAD を指定したものと仮定されます。
複数のスレッドから、同じ条件変数を同時に初期化してはいけません。一度初期化した条件変数はほかのスレッドが使用している可能性があるので、再初期化してはいけません。
POSIX スレッドの場合については、「pthread_condattr_init の構文」を参照してください。
#include <thread.h> cond_t cv; int ret; /* to be used within this process only */ ret = cond_init(cv, USYNC_THREAD, 0);
#include <thread.h> cond_t cv; int ret; /* to be used among all processes */ ret = cond_init(&cv, USYNC_PROCESS, 0);