pthread_attr_setstacklazy()
Set the thread lazy-stack attribute
Synopsis:
#include <pthread.h>
int pthread_attr_setstacklazy(
pthread_attr_t * attr,
int lazystack );
Arguments:
- attr
- A pointer to the pthread_attr_t structure that defines the attributes to use when creating new threads. For more information, see pthread_attr_init().
- lazystack
- One of:
- PTHREAD_STACK_LAZY — allocate physical memory for the thread stack on demand (the default).
- PTHREAD_STACK_NOTLAZY — allocate physical memory for the whole stack up front. Use this value to ensure that your server processes don't die later on because they're unable to allocate stack memory. We recommend that you set the stack size as well, because the default stack size is probably much larger than you really need.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pthread_attr_setstacklazy() function sets the thread stack attribute in the attribute object attr to lazystack.
Note:
The
procnto
-n option causes all stack allocation to be nonlazy.
If you use this option, this function has no effect.
If you want a thread to have a lazy stack, use
mmap()
with MAP_LAZY to allocate an area for the stack, and then call
pthread_attr_setstack().
Returns:
- EOK
- Success.
- EINVAL
- The value of lazystack is invalid.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
Page updated:
