A FreeBSD specific patch to python 2.5.2
Josh Paetzel
jpaetzel at FreeBSD.org
Wed Dec 10 05:35:38 PST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Andrew MacIntyre wrote:
> Josh Paetzel wrote:
>
>> I work in a fairly python-centric environment, we use FreeBSD for all of
>> our production machines.
>>
>> Recently we have started using the following patch to python 2.5.2 in
>> production, and it's solved some issues we've had with regards to
>> python, FreeBSD, threads, and signals.
>>
>> I've been contemplating whether it should be included in the FreeBSD
>> port tree or not, and if it's included whether it should be optional, so
>> on and so forth.
>>
>> Here's the patch
>>
>> - --- Python/thread_pthread.h.orig 2006-06-13 15:04:24.000000000
>> +0000
>> +++ Python/thread_pthread.h 2008-11-11 07:20:33.000000000 +0000
>> @@ -149,6 +149,7 @@
>> {
>> pthread_t th;
>> int status;
>> + sigset_t set, oset;
>> #if defined(THREAD_STACK_SIZE) ||
>> defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
>> pthread_attr_t attrs;
>> #endif
>> @@ -178,6 +179,8 @@
>> pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
>> #endif
>>
>> + sigfillset(&set);
>> + SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
>> status = pthread_create(&th,
>> #if defined(THREAD_STACK_SIZE) ||
>> defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
>> &attrs,
>> @@ -187,7 +190,7 @@
>> (void* (*)(void *))func,
>> (void *)arg
>> );
>> - -
>> + SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
>> #if defined(THREAD_STACK_SIZE) ||
>> defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
>> pthread_attr_destroy(&attrs);
>> #endif
>
> Which versions of FreeBSD are you using this on? There are several
> FreeBSD thread related issues in the Python bug tracker and it would be
> useful to see if they can be squashed for the prospective 2.5.3 and 2.6.1
> releases...
>
6.3-R and 6.4-R
- --
Thanks,
Josh Paetzel
PGP: 8A48 EF36 5E9F 4EDA 5ABC 11B4 26F9 01F1 27AF AECB
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkk/xakACgkQJvkB8SevrssZJQCfdPOCfOoWmKVRSDtlbAI/Xk1M
7fUAmgJD847Y5Ue+6NTwbVhuKkHtstdq
=0OD6
-----END PGP SIGNATURE-----
More information about the freebsd-python
mailing list