From 830250759cd4c14ca2ae5ddf24f0a0427f258622 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 26 Jul 2016 16:36:20 -0700 Subject: [PATCH 1/2] Fix for running under MUSL libc (e.g. Alpine Linux) --- osdep/Thread.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/osdep/Thread.hpp b/osdep/Thread.hpp index 7fb38d8..4f90dc0 100644 --- a/osdep/Thread.hpp +++ b/osdep/Thread.hpp @@ -125,6 +125,10 @@ public: throw() { memset(&_tid,0,sizeof(_tid)); + pthread_attr_init(&_tattr); +#ifdef __LINUX__ + pthread_attr_setstacksize(&_tattr,8388608); // for MUSL libc and others, has no effect in normal glibc environments +#endif _started = false; } @@ -157,7 +161,7 @@ public: { Thread t; t._started = true; - if (pthread_create(&t._tid,(const pthread_attr_t *)0,&___zt_threadMain,instance)) + if (pthread_create(&t._tid,&t._tattr,&___zt_threadMain,instance)) throw std::runtime_error("pthread_create() failed, unable to create thread"); return t; } @@ -184,6 +188,7 @@ public: private: pthread_t _tid; + pthread_attr_t _tattr; volatile bool _started; }; -- 2.9.0