SEM_WAIT(3) | FreeBSD Library Functions Manual | SEM_WAIT(3) |
名称
sem_wait, sem_trywait — セマフォの値を減少させます (ロックする)ライブラリ
Standard C Library (libc, -lc)解説
sem_wait() 関数は、 sem によって指されたセマフォの値を減少させます (ロックします)。しかし、 sem の値が 0 の場合、ブロックされ、値が 0 でない間、値を減少できます。sem_trywait() 関数は、値が 0 でない場合のみ sem によって指されるセマフォの値を減少させます (ロックします)。そうでなければ、セマフォの値は、減少されず、エラーが返されます。
戻り値
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.エラー
sem_wait() と sem_trywait() 関数は、次の場合に失敗します:- [ EINVAL]
- sem 引数は、無効なセマフォを指しています。
さらに、 sem_wait() は、次の場合に失敗します:
- [ EINTR]
- シグナルが、この関数に割り込みました。
さらに、 sem_trywait() は、次の場合に失敗します:
- [ EAGAIN]
- セマフォの値は、0 で、減少することができませんでした。
規格
sem_wait() と sem_trywait() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に適合しています。April 16, 2013 | FreeBSD |