| Index: src/untrusted/pthread/nc_semaphore.c
|
| diff --git a/src/untrusted/pthread/nc_semaphore.c b/src/untrusted/pthread/nc_semaphore.c
|
| index 635dc859bc5c5fe4ca1b0504951001d6e9418e6d..cb1973c7a70ba14ca284f34375977a062a9e1ade 100644
|
| --- a/src/untrusted/pthread/nc_semaphore.c
|
| +++ b/src/untrusted/pthread/nc_semaphore.c
|
| @@ -90,6 +90,14 @@ int sem_wait(sem_t *sem) {
|
| return 0;
|
| }
|
|
|
| +int sem_trywait(sem_t *sem) {
|
| + if (decrement_if_positive(&sem->count))
|
| + return 0;
|
| +
|
| + errno = EAGAIN;
|
| + return -1;
|
| +}
|
| +
|
| int sem_post(sem_t *sem) {
|
| /* Increment sem->count, checking for overflow. */
|
| int old_value;
|
| @@ -114,3 +122,8 @@ int sem_post(sem_t *sem) {
|
| }
|
| return 0;
|
| }
|
| +
|
| +int sem_getvalue(sem_t *sem, int *value) {
|
| + *value = sem->count;
|
| + return 0;
|
| +}
|
|
|