summaryrefslogtreecommitdiff
path: root/python3/i100492-freebsd.patch.2
diff options
context:
space:
mode:
Diffstat (limited to 'python3/i100492-freebsd.patch.2')
-rw-r--r--python3/i100492-freebsd.patch.280
1 files changed, 80 insertions, 0 deletions
diff --git a/python3/i100492-freebsd.patch.2 b/python3/i100492-freebsd.patch.2
new file mode 100644
index 000000000000..19db3db49d77
--- /dev/null
+++ b/python3/i100492-freebsd.patch.2
@@ -0,0 +1,80 @@
+FreeBSD porting fixes, patch by maho@openoffice.org
+
+--- misc/Python-2.6.1/Lib/test/test_threading.py 2008-09-30 22:41:13.000000000 +0200
++++ misc/build/Python-2.6.1/Lib/test/test_threading.py 2011-06-06 17:31:17.000000000 +0200
+@@ -382,7 +382,7 @@
+ # #12316 and #11870), and fork() from a worker thread is known to trigger
+ # problems with some operating systems (issue #3863): skip problematic tests
+ # on platforms known to behave badly.
+- platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
++ platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
+ 'os2emx')
+
+ def _run_and_join(self, script):
+--- misc/Python-2.6.1/Python/thread_pthread.h 2006-06-13 17:04:24.000000000 +0200
++++ misc/build/Python-2.6.1/Python/thread_pthread.h 2011-06-06 17:33:34.000000000 +0200
+@@ -26,6 +26,10 @@
+ #endif
+ #endif
+
++#ifdef __FreeBSD__
++#include <osreldate.h>
++#endif
++
+ /* The POSIX spec says that implementations supporting the sem_*
+ family of functions must indicate this by defining
+ _POSIX_SEMAPHORES. */
+@@ -44,7 +48,6 @@
+ 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
+@@ -149,6 +152,9 @@
+ {
+ pthread_t th;
+ int status;
++#ifdef __FreeBSD__
++ sigset_t set, oset;
++#endif
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_t attrs;
+ #endif
+@@ -177,7 +183,10 @@
+ #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
+ #endif
+-
++#ifdef __FreeBSD__
++ sigfillset(&set);
++ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
++#endif
+ status = pthread_create(&th,
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ &attrs,
+@@ -188,6 +197,9 @@
+ (void *)arg
+ );
+
++#ifdef __FreeBSD__
++ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
++#endif
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_destroy(&attrs);
+ #endif
+--- misc/Python-2.6.1/configure 2008-11-16 18:57:10.000000000 +0100
++++ misc/build/Python-2.6.1/configure 2011-06-06 17:31:17.000000000 +0200
+@@ -4110,11 +4110,6 @@
+ LDLIBRARY='libpython$(VERSION).so'
+ BLDLIBRARY='-L. -lpython$(VERSION)'
+ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+- case $ac_sys_system in
+- FreeBSD*)
+- SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
+- ;;
+- esac
+ INSTSONAME="$LDLIBRARY".$SOVERSION
+ ;;
+ hp*|HP*)