]> granicus.if.org Git - python/commitdiff
Give information for compililation of _multiprocessing.SemLock on FreeBSD:
authorHye-Shik Chang <hyeshik@gmail.com>
Sat, 28 Jun 2008 01:04:31 +0000 (01:04 +0000)
committerHye-Shik Chang <hyeshik@gmail.com>
Sat, 28 Jun 2008 01:04:31 +0000 (01:04 +0000)
FreeBSD's P1003.1b semaphore support is highly experimental and
it's disabled by default.  Even if a user loads the experimental
kernel module manually, _multiprocessing doesn't work correctly due
to several known incompatibilities around sem_unlink and sem_getvalue,
yet.

setup.py

index 87a55943bbfd99da75e4bea336da90835636c300..f979a2914389634faa185edbd19f448772308e1a 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1258,6 +1258,17 @@ class PyBuildExt(build_ext):
                 HAVE_BROKEN_SEM_UNLINK=1
                 )
             libraries = []
+
+        elif platform in ('freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+            # FreeBSD's P1003.1b semaphore support is very experimental
+            # and has many known problems. (as of June 2008)
+            macros = dict(                  # FreeBSD
+                HAVE_SEM_OPEN=0,
+                HAVE_SEM_TIMEDWAIT=0,
+                HAVE_FD_TRANSFER=1,
+                )
+            libraries = []
+
         else:                                   # Linux and other unices
             macros = dict(
                 HAVE_SEM_OPEN=1,