diff options
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.patch | 29 |
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; + } |