summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2003-09-20 11:13:36 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2003-09-20 11:13:36 (GMT)
commit70849f84a04e19f8723cfbea24dd3c8be301bf06 (patch)
tree81aba78fd64d26bcb18e4d2dbdeb00727fccee1c /Python
parent7bdc484c97eb418dcffcdc7a4390e30818d277cb (diff)
downloadcpython-70849f84a04e19f8723cfbea24dd3c8be301bf06.zip
cpython-70849f84a04e19f8723cfbea24dd3c8be301bf06.tar.gz
cpython-70849f84a04e19f8723cfbea24dd3c8be301bf06.tar.bz2
Patch #805613: Fix usage of the PTH library.
Diffstat (limited to 'Python')
-rw-r--r--Python/thread.c1
-rw-r--r--Python/thread_pth.h7
2 files changed, 7 insertions, 1 deletions
diff --git a/Python/thread.c b/Python/thread.c
index 87230e0..2298b38 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -98,6 +98,7 @@ void PyThread_init_thread(void)
#ifdef HAVE_PTH
#include "thread_pth.h"
+#undef _POSIX_THREADS
#endif
#ifdef _POSIX_THREADS
diff --git a/Python/thread_pth.h b/Python/thread_pth.h
index 3b97981..8c7dbe9 100644
--- a/Python/thread_pth.h
+++ b/Python/thread_pth.h
@@ -30,6 +30,8 @@ typedef struct {
#define CHECK_STATUS(name) if (status == -1) { printf("%d ", status); perror(name); error = 1; }
+pth_attr_t PyThread_attr;
+
/*
* Initialization.
*/
@@ -37,6 +39,9 @@ typedef struct {
static void PyThread__init_thread(void)
{
pth_init();
+ PyThread_attr = pth_attr_new();
+ pth_attr_set(PyThread_attr, PTH_ATTR_STACK_SIZE, 1<<18);
+ pth_attr_set(PyThread_attr, PTH_ATTR_JOINABLE, FALSE);
}
/*
@@ -51,7 +56,7 @@ long PyThread_start_new_thread(void (*func)(void *), void *arg)
if (!initialized)
PyThread_init_thread();
- th = pth_spawn(PTH_ATTR_DEFAULT,
+ th = pth_spawn(PyThread_attr,
(void* (*)(void *))func,
(void *)arg
);