void-packages/srcpkgs/mesa/patches/musl-stacksize.patch

38 lines
1.0 KiB
Diff

--- a/src/c11/impl/threads_posix.c 2022-10-04 16:30:04.564345425 -0400
+++ b/src/c11/impl/threads_posix.c 2022-10-04 16:43:51.794135619 -0400
@@ -255,18 +255,33 @@
thrd_create(thrd_t *thr, thrd_start_t func, void *arg)
{
struct impl_thrd_param *pack;
+#ifdef __GLIBC__
+ pthread_attr_t *attrp = NULL;
+#else
+ pthread_attr_t attr = { 0 };
+ pthread_attr_init(&attr);
+ pthread_attr_setstacksize(&attr, 8388608);
+ pthread_attr_t *attrp = &attr;
+#endif
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, attrp, impl_thrd_routine, pack) != 0) {
+#ifndef __GLIBC__
+ pthread_attr_destroy(&attr);
+#endif
free(pack);
return thrd_error;
}
+#ifndef __GLIBC__
+ pthread_attr_destroy(&attr);
+#endif
return thrd_success;
}
+
// 7.25.5.2
thrd_t
thrd_current(void)