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:
QNX Neutrino
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |