diff options
Diffstat (limited to 'devel/glib20/files/extra-patch-gthread_gthread-posix.c')
-rw-r--r-- | devel/glib20/files/extra-patch-gthread_gthread-posix.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/devel/glib20/files/extra-patch-gthread_gthread-posix.c b/devel/glib20/files/extra-patch-gthread_gthread-posix.c new file mode 100644 index 000000000000..8796dd629960 --- /dev/null +++ b/devel/glib20/files/extra-patch-gthread_gthread-posix.c @@ -0,0 +1,32 @@ +--- gthread/gthread-posix.c.orig Mon Nov 1 13:47:12 2004 ++++ gthread/gthread-posix.c Wed Mar 9 14:21:20 2005 +@@ -115,7 +115,11 @@ + # define PRIORITY_NORMAL_VALUE priority_normal_value + #endif /* POSIX_MIN_PRIORITY && POSIX_MAX_PRIORITY */ + ++#define G_THREAD_STACK_SIZE32 (1*1024*1024) ++#define G_THREAD_STACK_SIZE64 (2*1024*1024) ++ + static gulong g_thread_min_stack_size = 0; ++static gulong g_thread_default_stack_size = 0; + + #define G_MUTEX_SIZE (sizeof (pthread_mutex_t)) + +@@ -307,8 +312,16 @@ + if (stack_size) + { + stack_size = MAX (g_thread_min_stack_size, stack_size); +- posix_check_cmd (pthread_attr_setstacksize (&attr, stack_size)); + } ++ else ++ { ++ if (sizeof(void *) == 8) ++ g_thread_default_stack_size = G_THREAD_STACK_SIZE64; ++ else ++ g_thread_default_stack_size = G_THREAD_STACK_SIZE32; ++ stack_size = MAX (g_thread_min_stack_size, g_thread_default_stack_size); ++ } ++ posix_check_cmd (pthread_attr_setstacksize (&attr, stack_size)); + #endif /* HAVE_PTHREAD_ATTR_SETSTACKSIZE */ + + #ifdef PTHREAD_SCOPE_SYSTEM |