--------------------------------------------------------------------------------
AIX Version 4.3 Base Operating System and Extensions Technical Reference, Volume
                                       1
--------------------------------------------------------------------------------

pthread_attr_setstacksize Subroutine

Purpose

Sets the value of the stacksize attribute of a thread attributes object.

Library

Threads Library (libpthreads.a)

Syntax

#include 

int pthread_attr_setstacksize (attr, stacksize)

pthread_attr_t *attr;

size_t stacksize;

Description

The pthread_attr_setstacksize subroutine sets the value of the stacksize
attribute of the thread attributes object attr. This attribute specifies the
minimum stack size, in bytes, of a thread created with this attributes object.

The allocated stack size is always a multiple of 8K bytes, greater or equal to
the required minimum stack size of 56K bytes (PTHREAD_STACK_MIN). The following
formula is used to calculate the allocated stack size: if the required stack size
is lower than 56K bytes, the allocated stack size is 56K bytes; otherwise, if the
required stack size belongs to the range from (56 + (n - 1) * 16) K bytes to (56
+ n * 16) K bytes, the allocated stack size is (56 + n * 16) K bytes.

    Note: The pthread.h header file must be the first included file of each
    source file using the threads library. Otherwise, the -D_THREAD_SAFE
    compilation flag should be used, or the cc_r compiler used. In this case, the
    flag is automatically set.

Parameters

attr Specifies the thread attributes object.

stacksize Specifies the minimum stack size, in bytes, to set. The default stack
size is PTHREAD_STACK_MIN. The minimum stack size should be greater or equal than
this value.

Return Values

Upon successful completion, 0 is returned. Otherwise, an error code is returned.

Error Codes

The pthread_attr_setstacksize subroutine is unsuccessful if the following is
true:

EINVAL The attr parameter is not valid, or the value of the stacksize parameter
exceeds a system imposed limit.

ENOSYS The stack size POSIX option is not implemented.

Implementation Specifics

This subroutine is part of the Base Operating System (BOS) Runtime.

Related Information

The pthread_attr_getstacksize subroutine, pthread_attr_init subroutine,
pthread_create subroutine, the pthread.h file.

Advanced Attributes in AIX Version 4.3 General Programming Concepts: Writing and
Debugging Programs.

Threads Library Options and Threads Library Quick Reference in AIX Version 4.3
General Programming Concepts: Writing and Debugging Programs.
--------------------------------------------------------------------------------