20 lines
594 B
Diff
20 lines
594 B
Diff
diff --git a/src/thread/Thread.cxx b/src/thread/Thread.cxx
|
|
index 2932d47..fd1f3ce 100644
|
|
--- src/thread/Thread.cxx
|
|
+++ src/thread/Thread.cxx
|
|
@@ -43,8 +43,12 @@ Thread::Start(void (*_f)(void *ctx), void *_ctx, Error &error)
|
|
#ifndef NDEBUG
|
|
creating = true;
|
|
#endif
|
|
-
|
|
- int e = pthread_create(&handle, nullptr, ThreadProc, this);
|
|
+ pthread_attr_t attr, *attrptr = nullptr;
|
|
+ if ((pthread_attr_init(&attr) == 0)
|
|
+ && (pthread_attr_setstacksize(&attr, 1024*1024) == 0)) {
|
|
+ attrptr = &attr;
|
|
+ }
|
|
+ int e = pthread_create(&handle, attrptr, ThreadProc, this);
|
|
|
|
if (e != 0) {
|
|
#ifndef NDEBUG
|