pthread_default_stacksize_np.3t (2010 09)
p
pthread_default_stacksize_np(3T) pthread_default_stacksize_np(3T)
(Pthread Library)
NAME
pthread_default_stacksize_np() - change the default stacksize
SYNOPSIS
#include <pthread.h>
int pthread_default_stacksize_np(
size_t new_size,
size_t *old_size
);
PARAMETERS
new_size The new default stack size.
old_size Pointer to where the old default stack size is returned.
DESCRIPTION
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 .Ifnew_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 appli-
cation to utilize the performance benefit of cached threads.
RETURN VALUE
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).
ERRORS
If any of the following occur, the
pthread_default_stacksize_np()
function returns the
corresponding error number:
[EINVAL] The value specified by new_size is less than
PTHREAD_STACK_MIN.
[EPERM] The calling process has already created threads (this must be called before any
threads are created).
WARNINGS
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.
AUTHOR
pthread_default_stacksize_np() was developed by HP.
SEE ALSO
pthread_attr_getstacksize(3T), pthread_attr_setstacksize(3T).
STANDARDS CONFORMANCE
pthread_default_stacksize_np(): None.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1