Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Dec 2009 00:24:28 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Jilles Tjoelker <jilles@stack.nl>, John Baldwin <jhb@FreeBSD.org>
Subject:   Re: svn commit: r200274 - head/lib/libc/gen
Message-ID:  <alpine.BSF.2.00.0912100023220.23303@fledge.watson.org>
In-Reply-To: <4B1FAC12.6080907@cs.duke.edu>
References:  <200912082048.nB8Km6aP099420@svn.freebsd.org> <200912081645.37356.jhb@freebsd.org> <20091208221028.GA57735@stack.nl> <200912081742.58162.jhb@freebsd.org> <4B1FAC12.6080907@cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 9 Dec 2009, Andrew Gallatin wrote:

> John Baldwin wrote:
>
>> The fact that we don't fail attempts to use pshared outright is probably 
>> dubious.  They cannot possibly work as currently implemented aside from 
>> fork() since the structure embeds a file descriptor and file descriptor 
>> indices are a per-process namespace, not a global namespace.
>
> FWIW, this is what confused me.  It tends to be kind of a land-mine, since 
> programs can be ported from Linux, and appear to work at first for casual 
> use.  If we don't support pshared, we should return an error from sem_init() 
> to make it obvious.
>
> Also, perhaps the sem_init() man page should mention sem_open(), since that 
> seems to be the only way to really share a semaphore between processes on 
> FreeBSD.

It's beginning to sound like our POSIX semaphores should be behaving more like 
umtx, which requires only a shared page, and less like file descriptors.  Of 
course, that would make the global namespace more tricky...

Robert N M Watson
Computer Laboratory
University of Cambridge



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0912100023220.23303>