Version 6.4.0.0.beta1, tag libreoffice-6.4.0.0.beta1
[LibreOffice.git] / external / python3 / i100492-freebsd.patch.1
blob9b4b33729f75480d55f0cc2c1ce151721cf7c741
1 FreeBSD porting fixes, patch by maho@openoffice.org
3 --- python3.orig/Lib/test/test_threading.py     2015-07-05 18:50:07.000000000 +0200
4 +++ python3/Lib/test/test_threading.py  2015-07-26 17:03:55.935367820 +0200
5 @@ -24,8 +24,8 @@
6  # #12316 and #11870), and fork() from a worker thread is known to trigger
7  # problems with some operating systems (issue #3863): skip problematic tests
8  # on platforms known to behave badly.
9 -platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
10 -                     'hp-ux11')
11 +platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
12 +                     'os2emx', 'hp-ux11')
15  # A trivial mutable counter.
16 --- Python-3.3.0/Python/thread_pthread.h        2012-11-28 09:00:41.097955124 +0000
17 +++ Python-3.3.0/Python/thread_pthread.h        2012-11-28 09:01:13.018329351 +0000
18 @@ -42,6 +42,10 @@
19  #endif
20  #endif
22 +#ifdef __FreeBSD__
23 +#include <osreldate.h>
24 +#endif
26  /* The POSIX spec says that implementations supporting the sem_*
27     family of functions must indicate this by defining
28     _POSIX_SEMAPHORES. */
29 @@ -60,7 +64,6 @@
30     in default setting.  So the process scope is preferred to get
31     enough number of threads to work. */
32  #ifdef __FreeBSD__
33 -#include <osreldate.h>
34  #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101
35  #undef PTHREAD_SYSTEM_SCHED_SUPPORTED
36  #endif
37 @@ -186,6 +189,9 @@
38  {
39      pthread_t th;
40      int status;
41 +#ifdef __FreeBSD__
42 +       sigset_t set, oset;
43 +#endif
44  #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
45      pthread_attr_t attrs;
46  #endif
47 @@ -214,7 +220,10 @@
48  #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
49      pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
50  #endif
52 +#ifdef __FreeBSD__
53 +       sigfillset(&set);
54 +       SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
55 +#endif
56      status = pthread_create(&th,
57  #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
58                               &attrs,
59 @@ -225,6 +234,9 @@
60                               (void *)arg
61                               );
63 +#ifdef __FreeBSD__
64 +       SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
65 +#endif
66  #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
67      pthread_attr_destroy(&attrs);
68  #endif