#include "pthread_impl.h" extern size_t __default_stacksize; extern size_t __default_guardsize; int pthread_setattr_default_np(const pthread_attr_t *attrp) { if (attrp->_a_stackaddr || attrp->_a_detach || attrp->_a_sched || attrp->_a_policy || attrp->_a_prio) return EINVAL; __inhibit_ptc(); if (DEFAULT_STACK_SIZE+attrp->_a_stacksize >= DEFAULT_STACK_SIZE+__default_stacksize) __default_stacksize = attrp->_a_stacksize; if (DEFAULT_GUARD_SIZE+attrp->_a_guardsize >= DEFAULT_GUARD_SIZE+__default_guardsize) __default_guardsize = attrp->_a_guardsize; __release_ptc(); return 0; } int pthread_getattr_default_np(pthread_attr_t *attrp) { __acquire_ptc(); *attrp = (pthread_attr_t) { ._a_stacksize = __default_stacksize, ._a_guardsize = __default_guardsize, }; __release_ptc(); return 0; }