aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/mesa/files/mesa-18-musl-increase-pthread-stack-size.patch')
-rw-r--r--media-libs/mesa/files/mesa-18-musl-increase-pthread-stack-size.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/media-libs/mesa/files/mesa-18-musl-increase-pthread-stack-size.patch b/media-libs/mesa/files/mesa-18-musl-increase-pthread-stack-size.patch
new file mode 100644
index 0000000..0579c17
--- /dev/null
+++ b/media-libs/mesa/files/mesa-18-musl-increase-pthread-stack-size.patch
@@ -0,0 +1,29 @@
+diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
+index 45cb6075e6..53ca26506c 100644
+--- a/include/c11/threads_posix.h
++++ b/include/c11/threads_posix.h
+@@ -281,12 +281,23 @@ static inline int
+ thrd_create(thrd_t *thr, thrd_start_t func, void *arg)
+ {
+ struct impl_thrd_param *pack;
++ size_t stack_size;
++ pthread_attr_t* attr;
++ pthread_attr_t attr_storage;
++
++ attr = NULL;
++ stack_size = 2 << 20;
++ attr = &attr_storage;
++
++ pthread_attr_init(attr);
++ pthread_attr_setstacksize(attr, stack_size);
++
+ assert(thr != NULL);
+ pack = (struct impl_thrd_param *)malloc(sizeof(struct impl_thrd_param));
+ if (!pack) return thrd_nomem;
+ pack->func = func;
+ pack->arg = arg;
+- if (pthread_create(thr, NULL, impl_thrd_routine, pack) != 0) {
++ if (pthread_create(thr, attr, impl_thrd_routine, pack) != 0) {
+ free(pack);
+ return thrd_error;
+ }