1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- From 830250759cd4c14ca2ae5ddf24f0a0427f258622 Mon Sep 17 00:00:00 2001
- From: Adam Ierymenko <adam.ierymenko@gmail.com>
- 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<C>,instance))
- + if (pthread_create(&t._tid,&t._tattr,&___zt_threadMain<C>,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
|