--- ./src/thread/Thread.cxx.orig +++ ./src/thread/Thread.cxx @@ -35,8 +35,12 @@ if (handle == nullptr) throw MakeLastError("Failed to create thread"); #else - 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) throw MakeErrno(e, "Failed to create thread"); #endif