Date: Wed, 10 Dec 2008 07:35:37 -0600 From: Josh Paetzel <jpaetzel@FreeBSD.org> To: Andrew MacIntyre <andymac@bullseye.apana.org.au> Cc: freebsd-python@FreeBSD.org Subject: Re: A FreeBSD specific patch to python 2.5.2 Message-ID: <493FC5A9.9020308@FreeBSD.org> In-Reply-To: <493FA37E.2050502@bullseye.andymac.org> References: <493ECB1E.2050709@FreeBSD.org> <493FA37E.2050502@bullseye.andymac.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----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-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?493FC5A9.9020308>
