From: Hye-Shik Chang Date: Thu, 23 Mar 2006 12:32:36 +0000 (+0000) Subject: Patch #1396919: Reenable the system scope threads on FreeBSD 5.4 X-Git-Tag: v2.5a0~124 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d478f3453f1219e0e102d2d425550e3774e90d06;p=python 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.. --- diff --git a/Misc/NEWS b/Misc/NEWS index f41f23737f..402d075e3e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.5 alpha 1? Core and builtins ----------------- +- Patch #1396919: The system scope threads are reenabled on FreeBSD + 5.4 and later versions. + - Bug #1115379: Compiling a Unicode string with an encoding declaration now gives a SyntaxError. diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index 781467f84b..c29a61c809 100644 --- a/Python/thread_pthread.h +++ b/Python/thread_pthread.h @@ -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 +#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 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) #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