頭檔案
#include <semaphore.h>
函式原型
int sem_getvalue(sem_t *sem, int *sval);
說明
sem_getvalue() 把 sem 指向的信號量當前值放置在 sval 指向的整數上。 如果有一個或多個進程或執行緒當前正在使用 sem_wait(3) 等待信號量,POSIX.1-2001 允許返回兩種結果在 sval 里:要么返回 0;要么返回一個負值,它的絕對等於當前正在 sem_wait(3) 里阻塞的進程和執行緒數。Linux 選擇了前面的行為(返回零)。
注意:信號量的值可能在 sem_getvalue() 返回時已經被更改。
sem_getvalue() 成功時返回 0;錯誤時,返回 -1,同時把 errno 設定為合適的值。
錯誤EINVAL
sem 不是一個有效的信號量。