X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fpthread_attr_setstack.c;fp=src%2Fthread%2Fpthread_attr_setstack.c;h=c51ad34df9ba551a9be700a969e44d27cc2dda66;hb=819006a88b9473872fee91135b06f4e23231d97e;hp=0000000000000000000000000000000000000000;hpb=f457b1cb0d49f1b47bc7baf4bb516f1860816f03;p=musl diff --git a/src/thread/pthread_attr_setstack.c b/src/thread/pthread_attr_setstack.c new file mode 100644 index 00000000..c51ad34d --- /dev/null +++ b/src/thread/pthread_attr_setstack.c @@ -0,0 +1,14 @@ +#include "pthread_impl.h" + +/* pthread_key_create.c overrides this */ +static const size_t dummy = 0; +weak_alias(dummy, __pthread_tsd_size); + +int pthread_attr_setstack(pthread_attr_t *a, void *addr, size_t size) +{ + if (size-PTHREAD_STACK_MIN-__pthread_tsd_size > SIZE_MAX/4) + return EINVAL; + a->_a_stackaddr = (size_t)addr + size; + a->_a_stacksize = size - DEFAULT_STACK_SIZE; + return 0; +}