]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
setup: use poll reactor for trial if on linux2 or cygwin
authorZooko O'Whielacronx <zooko@zooko.com>
Wed, 14 Jan 2009 16:15:46 +0000 (09:15 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Wed, 14 Jan 2009 16:15:46 +0000 (09:15 -0700)
setup.py

index d5456f7f889fb1b996d7b401e7d8a7f57c5e892b..11c833f86f70a686eadded782d857f54ee7ffa63 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -154,6 +154,15 @@ if 'darcsver' in sys.argv[1:]:
 # setuptools_trial is needed only if you want "./setup.py trial" to execute the tests.
 # http://pypi.python.org/pypi/setuptools_trial
 if 'trial' in sys.argv[1:]:
+    # Cygwin requires the poll reactor to work at all.  Linux requires the poll reactor to avoid
+    # bug #402 (twisted bug #3218).  In general, the poll reactor is better than the select
+    # reactor, but it is not available on all platforms.  According to exarkun on IRC, it is
+    # available but buggy on some versions of Mac OS X, so just because you can install it
+    # doesn't mean we want to use it on every platform.
+    if sys.platform in ("linux2", "cygwin"):
+        for arg in sys.argv:
+            if arg.startswith("--reactor")
+        sys.argv.append("--reactor=poll")
     setup_requires.append('setuptools_trial >= 0.2')
 
 # setuptools_darcs is required to produce complete distributions (such as with