HP-UX Reference (11i v3 07/02) - 3 Library Functions N-Z (vol 7)
p
pthread_default_rsestacksize_np(3T) pthread_default_rsestacksize_np(3T)
(Pthread Library)
NAME
pthread_default_rsestacksize_np() - change the default stacksize.
SYNOPSIS
#include <pthread.h>
int pthread_default_rsestacksize_np(
size_t new_size,
size_t *old_size
);
PARAMETERS
new_size The new default register stack size.
old_size Pointer to where the old default register stack size is returned.
DESCRIPTION
The pthread_default_rsestacksize_np()
function allows an application to change the default
value for the rsestacksize 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 register stack size is not appropriate for an application, it cannot take advantage of
this performance enhancement. By using the
pthread_default_rsestacksize_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. If either of the set register stack size
APIs is called (
pthread_default_rsestacksize_np()
,
pthread_attr_setrsestacksize()
) the register stack portion of the stack space will be that large
instead of size determined by the implementation. The memory stack portion will be the remainder.
RETURN VALUE
Upon successful completion,
pthread_default_rsestacksize_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_rsestacksize_np()
function returns the
corresponding error number:
[EINVAL] The value specified by new_size is less than register stack required for a thread.
[EPERM] The calling process has already created threads (this must be called before any
threads are created).
AUTHOR
pthread_default_rsestacksize_np() was developed by HP.
SEE ALSO
pthread_attr_getstacksize(3T), pthread_attr_setstacksize(3T), pthread_default_stacksize_np(3T).
STANDARDS CONFORMANCE
pthread_default_rsestacksize_np(): None.
HP-UX 11i Version 3: February 2007 − 1 − Hewlett-Packard Company 189