summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-05-05 17:51:39 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-05-05 17:51:39 +0200
commit7b004d1ddde072ef7b31b766d1faac34771d6f22 (patch)
tree78f6334a594941a66142608f73911129f1b4f3f5
parenta50c15d278cf1d73a9d58dfbf34cdfcbc0bb0abb (diff)
downloadcurl-bagder/pthread-minimum-stack.tar.gz
fixup PTHREAD_STACK_MIN caused segfaults on FreeBSDbagder/pthread-minimum-stack
Try 100K by default and use CURL_THREAD_STACK_SIZE that can be overridden at build-time.
-rw-r--r--lib/curl_threads.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/curl_threads.c b/lib/curl_threads.c
index c0445dc58..c4ffb404c 100644
--- a/lib/curl_threads.c
+++ b/lib/curl_threads.c
@@ -59,6 +59,10 @@ static void *curl_thread_create_thunk(void *arg)
return 0;
}
+#ifndef CURL_THREAD_STACK_SIZE
+#define CURL_THREAD_STACK_SIZE (100*1024)
+#endif
+
curl_thread_t Curl_thread_create(unsigned int (*func) (void *), void *arg)
{
curl_thread_t t = malloc(sizeof(pthread_t));
@@ -71,7 +75,7 @@ curl_thread_t Curl_thread_create(unsigned int (*func) (void *), void *arg)
ac->arg = arg;
pthread_attr_init(&attr);
- pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
+ pthread_attr_setstacksize(&attr, CURL_THREAD_STACK_SIZE);
if(pthread_create(t, &attr, curl_thread_create_thunk, ac) != 0)
goto err;
pthread_attr_destroy(&attr);