Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > P


Pthread Library
HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


pthread_default_stacksize_np() — change the default stacksize


#include <pthread.h>

int pthread_default_stacksize_np( size_t new_size, size_t *old_size );



The new default stack size.


Pointer to where the old default stack size is returned.


The pthread_default_stacksize_np() function allows an application to change the default value for the stacksize attribute. This function must be called before any threads have been created. The new default stack size is passed in the new_size parameter. If not NULL, the previous default stack size is returned in old_size. If new_size is zero, this function can be used (at any time) to query the current default stack size.

On HP-UX, threads with default stack sizes are cached after they terminate. The next time a thread is created with a default stack size, a cached thread (and its stack) are reused. This can result in significant performance improvements for pthread_create().

However, if the default stack size is not appropriate for an application, it cannot take advantage of this performance enhancement. By using the pthread_default_stacksize_np() function, the threads library will change the default stack size so that it matches the applications needs. This allows the application to utilize the performance benefit of cached threads.


Upon successful completion, pthread_default_stacksize_np() returns zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set).


If any of the following occur, the pthread_default_stacksize_np() function returns the corresponding error number:


The value specified by new_size is less than PTHREAD_STACK_MIN.


The calling process has already created threads (this must be called before any threads are created).


If the environment variable PTHREAD_DEFAULT_STACK_SIZE is set with a valid value for default stack size, then it takes precedence over the invocation of pthread_default_stacksize_np() interface. However, it returns the current default stack size in old_size.

The maximum default stack size value that may be set through the PTHREAD_DEFAULT_STACK_SIZE environment variable is restricted to 10 MB; any value greater than 10 MB will be rounded down to 10 MB.

Care should be taken while setting the default stack size limit since this could impact the maximum number of threads that can be created in a process.


pthread_default_stacksize_np() was developed by HP.


pthread_attr_getstacksize(3T), pthread_attr_setstacksize(3T).


pthread_default_stacksize_np(): None.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.