[Python-Dev] Issue #10348: concurrent.futures doesn't work on BSD

"Martin v. Löwis" martin at v.loewis.de
Thu Dec 30 23:19:00 CET 2010


> BTW - can anyone contribute data points from other *BSDs?

I don't have an installation of OpenBSD, but...

In FreeBSD, POSIX semaphores are implemented in sys/kern/uipc_sem.c.
In

http://www.openbsd.org/cgi-bin/cvsweb/src/sys/kern/

that file doesn't exist. Also, in FreeBSD's limits.h,
_POSIX_SEM_NSEMS_MAX is defined (surprisingly to 256);
in

http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/include/limits.h?rev=1.15;content-type=text/plain

this constant doesn't appear. So ISTM that OpenBSD doesn't implement
POSIX semaphores. IIUC, this means that the multiprocessing module
won't be fully functional, and its tests (and the concurrent.futures
tests) will be skipped.

NetBSD apparently supports sem_open since 2.0:

http://netbsd.gw.com/cgi-bin/man-cgi?sem_open++NetBSD-current

According to

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/kern/uipc_sem.c?rev=1.22&content-type=text/x-cvsweb-markup&only_with_tag=MAIN

SEM_MAX is 128 since 2007, and dynamically adjustable (no reboot).

Regards,
Martin


More information about the Python-Dev mailing list