summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/sem_new.c
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-01-29 19:21:21 +0000
committerdim <dim@FreeBSD.org>2015-01-29 19:21:21 +0000
commit1d69d7d4596d0dd39aa58fafb5c376b38bf90686 (patch)
treee6a581ee2a3f86081f45870ee2913c5435c1e35d /lib/libc/gen/sem_new.c
parentf7ab48b7ad07f9fa3eeb9fdd2577baf4f45259d8 (diff)
downloadFreeBSD-src-1d69d7d4596d0dd39aa58fafb5c376b38bf90686.zip
FreeBSD-src-1d69d7d4596d0dd39aa58fafb5c376b38bf90686.tar.gz
Merge ^/head r277861 through r277895.
Diffstat (limited to 'lib/libc/gen/sem_new.c')
-rw-r--r--lib/libc/gen/sem_new.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/gen/sem_new.c b/lib/libc/gen/sem_new.c
index 3ee0272..c5dc7e7 100644
--- a/lib/libc/gen/sem_new.c
+++ b/lib/libc/gen/sem_new.c
@@ -439,8 +439,10 @@ _sem_post(sem_t *sem)
do {
count = sem->_kern._count;
- if (USEM_COUNT(count) + 1 > SEM_VALUE_MAX)
- return (EOVERFLOW);
+ if (USEM_COUNT(count) + 1 > SEM_VALUE_MAX) {
+ errno = EOVERFLOW;
+ return (-1);
+ }
} while (!atomic_cmpset_rel_int(&sem->_kern._count, count, count + 1));
if (count & USEM_HAS_WAITERS)
usem_wake(&sem->_kern);
OpenPOWER on IntegriCloud