diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/pthread/semaphore.h | 23 |
2 files changed, 20 insertions, 10 deletions
@@ -1,3 +1,10 @@ +2019-04-29 Yann Droneaud <ydroneaud@opteya.com> + + * sysdeps/pthread/semaphore.h (sem_init): Add __nonnull attribute. + (sem_destroy, sem_open, sem_close, sem_unlink): Likewise. + (sem_wait, sem_timedwait, sem_trywait, sem_post): Likewise. + (sem_getvalue): Likewise. + 2019-04-26 Florian Weimer <fweimer@redhat.com> elf: Link sotruss-lib.so with BIND_NOW for --enable-bind-now. diff --git a/sysdeps/pthread/semaphore.h b/sysdeps/pthread/semaphore.h index 41ff92765e..87c054392c 100644 --- a/sysdeps/pthread/semaphore.h +++ b/sysdeps/pthread/semaphore.h @@ -33,24 +33,26 @@ __BEGIN_DECLS /* Initialize semaphore object SEM to VALUE. If PSHARED then share it with other processes. */ extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value) - __THROW; + __THROW __nonnull ((1)); + /* Free resources associated with semaphore object SEM. */ -extern int sem_destroy (sem_t *__sem) __THROW; +extern int sem_destroy (sem_t *__sem) __THROW __nonnull ((1)); /* Open a named semaphore NAME with open flags OFLAG. */ -extern sem_t *sem_open (const char *__name, int __oflag, ...) __THROW; +extern sem_t *sem_open (const char *__name, int __oflag, ...) + __THROW __nonnull ((1)); /* Close descriptor for named semaphore SEM. */ -extern int sem_close (sem_t *__sem) __THROW; +extern int sem_close (sem_t *__sem) __THROW __nonnull ((1)); /* Remove named semaphore NAME. */ -extern int sem_unlink (const char *__name) __THROW; +extern int sem_unlink (const char *__name) __THROW __nonnull ((1)); /* Wait for SEM being posted. This function is a cancellation point and therefore not marked with __THROW. */ -extern int sem_wait (sem_t *__sem); +extern int sem_wait (sem_t *__sem) __nonnull ((1)); #ifdef __USE_XOPEN2K /* Similar to `sem_wait' but wait only until ABSTIME. @@ -58,18 +60,19 @@ extern int sem_wait (sem_t *__sem); This function is a cancellation point and therefore not marked with __THROW. */ extern int sem_timedwait (sem_t *__restrict __sem, - const struct timespec *__restrict __abstime); + const struct timespec *__restrict __abstime) + __nonnull ((1, 2)); #endif /* Test whether SEM is posted. */ -extern int sem_trywait (sem_t *__sem) __THROWNL; +extern int sem_trywait (sem_t *__sem) __THROWNL __nonnull ((1)); /* Post SEM. */ -extern int sem_post (sem_t *__sem) __THROWNL; +extern int sem_post (sem_t *__sem) __THROWNL __nonnull ((1)); /* Get current value of SEM and store it in *SVAL. */ extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval) - __THROW; + __THROW __nonnull ((1, 2)); __END_DECLS |