diff options
Diffstat (limited to 'sysdeps/htl')
-rw-r--r-- | sysdeps/htl/sem-post.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/htl/sem-post.c b/sysdeps/htl/sem-post.c index 77f297314e..2e0be8fc49 100644 --- a/sysdeps/htl/sem-post.c +++ b/sysdeps/htl/sem-post.c @@ -30,6 +30,13 @@ __sem_post (sem_t *sem) if (sem->__value > 0) /* Do a quick up. */ { + if (sem->__value == SEM_VALUE_MAX) + { + __pthread_spin_unlock (&sem->__lock); + errno = EOVERFLOW; + return -1; + } + assert (sem->__queue == NULL); sem->__value++; __pthread_spin_unlock (&sem->__lock); |