Unnamed POSIX shared semaphores

John Baldwin jhb at freebsd.org
Tue Jun 2 12:43:03 UTC 2009


On Monday 01 June 2009 5:17:48 pm Bruce Simpson wrote:
> Jilles Tjoelker wrote:
> > If process-shared semaphores really work, then the above structure is
> > not a pathological case. Effectively, sem_t is carved in stone. So
> > process-private semaphores should continue to have most of their stuff
> > in a separately allocated structure, to preserve flexibility.
> >   
> 
> There was an inadvertent race in FreeBSD's POSIX semaphores which I 
> fixed in HEAD and STABLE about 6 weeks before 7.2 was released.
> 
> I believe process-shared POSIX semaphores now work -- the Python 
> 'multiprocessing' regression test now runs to completion with no errors 
> on both HEAD and STABLE.

The semaphores in recent 7 and 8 are definitely not process-shared (at least 
not intentionally).  They may work across a fork accidentally, but you can't 
store it in an mmap() region and share it with an arbitrary process.

-- 
John Baldwin


More information about the freebsd-stable mailing list