diff Python/thread_pthread.h @ 37168:4f97b6a229ce legacy-trunk

Patch #1396919: Reenable the system scope threads on FreeBSD 5.4 and later versions because they bumped the default setting to get our basic tests to run correctly..
author Hye-Shik Chang <hyeshik@gmail.com>
date Thu, 23 Mar 2006 12:32:36 +0000
parents 5a8bf8e7d010
children 0b2b076e5908 654c380cf8b9
line wrap: on
line diff
--- a/Python/thread_pthread.h	Thu Mar 23 12:12:44 2006 +0000
+++ b/Python/thread_pthread.h	Thu Mar 23 12:32:36 2006 +0000
@@ -26,6 +26,16 @@
 #endif
 #endif
 
+/* Before FreeBSD 5.4, system scope threads was very limited resource
+   in default setting.  So the process scope is preferred to get
+   enough number of threads to work. */
+#ifdef __FreeBSD__
+#include <osreldate.h>
+#if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101
+#undef PTHREAD_SYSTEM_SCHED_SUPPORTED
+#endif
+#endif
+
 #if !defined(pthread_attr_default)
 #  define pthread_attr_default ((pthread_attr_t *)NULL)
 #endif
@@ -138,7 +148,7 @@
 #ifdef THREAD_STACK_SIZE
 	pthread_attr_setstacksize(&attrs, THREAD_STACK_SIZE);
 #endif
-#if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) && !defined(__FreeBSD__)
+#if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
         pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
 #endif