svn commit: r188727 - in stable/7: sys sys/contrib/pf
sys/dev/ath/ath_hal sys/dev/cxgb sys/kern sys/modules/sem
sys/sys tools/regression/posixsem usr.bin/procstat
jhb at freebsd.org
Wed Feb 18 07:10:59 PST 2009
On Wednesday 18 February 2009 3:18:03 am Bruce Simpson wrote:
> John Baldwin wrote:
> > Author: jhb
> > Date: Tue Feb 17 19:57:52 2009
> > New Revision: 188727
> > URL: http://svn.freebsd.org/changeset/base/188727
> > Log:
> > MFC: Rework the lifetime management of the kernel implementation of
> > semaphores. Specifically, semaphores are now represented as new file
> > descriptor type that is set to close on exec. This removes the need for
> > all of the manual process reference counting (and fork, exec, and exit
> > event handlers) as the normal file descriptor operations handle all of
> > that for us nicely. It is also suggested as one possible implementation
> > in the spec and at least one other OS (OS X) uses this approach.
> This change *may* fix Python 2.6's 'multiprocessing' module on FreeBSD
> 7-STABLE, which is known to have problems there; it depends on POSIX
> semaphores to synchronize its IPC between different fork()'s of the
> Python interpreter.
> If anyone else has an interest in ths they may wish to test, if not, I
> will try to get around to it eventually.
When Kris tested it, it made things significantly better. I'm not sure if it
resolved all the issues though.
More information about the svn-src-stable-7