diff options
author | Hye-Shik Chang <hyeshik@gmail.com> | 2006-03-23 12:32:36 (GMT) |
---|---|---|
committer | Hye-Shik Chang <hyeshik@gmail.com> | 2006-03-23 12:32:36 (GMT) |
commit | d478f3453f1219e0e102d2d425550e3774e90d06 (patch) | |
tree | e9f9e5ba4e783167b80579ee5aaf64b98bb5d176 /Python | |
parent | dfbd34c80f5b9c0aae3e7a816944e335619feab4 (diff) | |
download | cpython-d478f3453f1219e0e102d2d425550e3774e90d06.zip cpython-d478f3453f1219e0e102d2d425550e3774e90d06.tar.gz cpython-d478f3453f1219e0e102d2d425550e3774e90d06.tar.bz2 |
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..
Diffstat (limited to 'Python')
-rw-r--r-- | Python/thread_pthread.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index 781467f..c29a61c 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 <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 @@ 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 |