SEM_INIT(3) | FreeBSD Library Functions Manual | SEM_INIT(3) |
名称
sem_init — 無名のセマフォを初期化するライブラリ
Standard C Library (libc, -lc)解説
sem_init() 関数は、値 value を持つために sem によって指される無名のセマフォを初期化します。pshared のための 0 でない値は、複数のプロセスによって使用できる共有セマフォを指定し、セマフォは、共有メモリ領域 ( mmap(2), shm_open(2) と shmget(2) 参照) に位置するべきです、アドレス sem への読み込み書き込みアクセスがある任意のプロセスは、 sem でマフォ操作を実行できます。
sem_init(), への呼び出しが成功した後に、 sem は、 sem_wait(3), sem_trywait(3), sem_post(3), sem_destroy(3) への後の呼び出しで引数として使用できます。 sem 引数は、 sem_destroy(3) への呼び出しに成功した後ではもはや有効ではありません。
戻り値
The sem_init() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.エラー
sem_init() 関数は、次の場合に失敗します:- [ EINVAL]
- value 引数が、 SEM_VALUE_MAX を超過しています。
- [ ENOSPC]
- メモリ割り付けエラー。
規格
sem_init() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に適合しています。January 9, 2010 | FreeBSD |