blob: fb7fd58ca5ba24d9be6dfcabd91a003e0af798dd [file] [log] [blame]
<assertions>
<assertion id="1" tag="ref:XSH6:31532:31533">
The pthread_attr_setstack() shall set the thread creation stack attributes
stackaddr and stacksize in the attr ojbect.
The stack attributes specify the area of storage to be used for the created
thread's stack.
</assertion>
<assertion id="2" tag="ref:XSH6:31534:31534">
The stack attributes specify the area of storage to be used for the created
thread's stack.
</assertion>
<assertion id="3" tag="ref:XSH6:31534:31538">
The base of the storage shall be stackaddr, and the size of the storage
shall be stacksize bytes. The stacksize shall be at least
{PTHREAD_STACK_MIN}. The stackaddr shall be aligned appropriately to be
used as a stack.
</assertion>
<assertion id="4" tag="ref:XSH6:31538:31539">
All pages within the stack described by stackaddr and stacksize shall be
both readable and writable by the thread.
</assertion>
<assertion id="5" tag="ref:XSH6:31541:31541">
If success, it returns zero.
</assertion>
<assertion id="6" tag="ref:XSH6:31541:31542 ref:XSH6:31547:31548">
if fail, an error number shall be returned to indicate the error.
The pthread_attr_setstack() function shall fail if:
[EINVAL] The value of stacksize is less than {PTHREAD_STACK_MIN}
or exceeds an implementation-defined limit.
</assertion>
<assertion id="7" tag="ref:XSH6:31550:31551">
The function may fail if:
[EINVAL] The value of stackaddr does not have proper alignment to
be used as a stack or if (stackaddr + stacksize) lacks proper alignment.
</assertion>
<assertion id="8" tag="ref:XSH6:31552:31553">
The function may fail if:
[EACCES] The stack page(s) described by stackaddr and stacksize are not
both readable and writable by the thread.
</assertion>
<assertion id="9" tag="ref:XSH6:31554:31554">
Shall not return an error code of [EINTR]
</assertion>
</assertions>