Standard C Library Functions thrminstack(3C)
NAME
thrminstack - return the minimum-allowable size for a
thread's stack
SYNOPSIS
cc -mt [ flag... ] file...[ library... ]
#include
sizet thrminstack(void);
DESCRIPTION
When a thread is created with a user-supplied stack, the
user must reserve enough space to run this thread. In a
dynamically linked execution environment, it is very hard to
know what the minimum stack requirments are for a thread.
The function thrminstack() returns the amount of space
needed to execute a null thread. This is a thread that was
created to execute a null procedure. A thread that does
something useful should have a stack size that is
thrminstack() ] .
Most users should not be creating threads with user-supplied
stacks. This functionality was provided to support applica-
tions that wanted complete control over their execution
environment.
Typically, users should let the threads library manage stack
allocation. The threads library provides default stacks
which should meet the requirements of any created thread.
thrminstack() will return the unsigned int THRMINSTACK,
which is the minimum-allowable size for a thread's stack.
In this implementation the default size for a user-thread's
stack is one mega-byte. If the second argument to
thrcreate(3C) is NUL, then the default stack size for the
newly-created thread will be used. Otherwise, you may
specify a stack-size that is at least THRMINSTACK, yet
less than the size of your machine's virtual memory.
It is recommended that the default stack size be used.
To determine the smallest-allowable size for a thread's
stack, execute the following:
SunOS 5.11 Last change: 12 May 1998 1
Standard C Library Functions thrminstack(3C)
/* cc thisfile.c -lthread */
#define RENTRANT
#include
#include
main() {
printf("thrminstack() returns %u\n",thrminstack());
}
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT-Level MT-Safe
SEE ALSO
attributes(5), standards(5)
SunOS 5.11 Last change: 12 May 1998 2
|