cvs commit: src/sys/sys semaphore.h

John Baldwin jhb at freebsd.org
Thu Jun 26 17:17:09 UTC 2008


On Thursday 26 June 2008 09:51:25 am John Baldwin wrote:
> jhb         2008-06-26 13:51:25 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/sys              semaphore.h 
>   Log:
>   SVN rev 180032 on 2008-06-26 13:51:25Z by jhb
>   
>   Change SEM_VALUE_MAX (maximum value of a POSIX semaphore) from UINT_MAX
>   to INT_MAX.  Otherwise, a process could create a semaphore (or increase
>   its value via ksem_post()) beyond INT_MAX and sem_getvalue() would return
>   a negative value.  sem_getvalue() is only supposed to return a negative
>   value if that is the number of waiters for that semaphore.
>   
>   MFC after:      2 weeks

Forgot to mention that other OS's I checked (glibc, Windows) use signed max 
constants (INT_MAX, LONG_MAX) rather than the unsigned constant.  Probably 
for the same reason.

-- 
John Baldwin


More information about the cvs-src mailing list