 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Bottom of page |
|
pthread_attr_setstackaddr(3)
NAME
pthread_attr_setstackaddr - Changes the stack address attribute of the
specified thread attributes object
SYNOPSIS
#include <pthread.h>
int pthread_attr_setstackaddr(
pthread_attr_t *attr,
void *stackaddr );
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program Interface
PARAMETERS
attr
Address of the thread attributes object whose stack address attribute
is to be modified.
stackaddr
New value for the stack address attribute of the thread attributes
object specified by attr.
DESCRIPTION
This routine uses the value specified in the stackaddr argument to set the
stack address attribute of the thread attributes object specified in the
attr argument.
When creating a thread, use a thread attributes object to specify
nondefault values for thread attributes. The stack address attribute of a
thread attributes object points to the origin of the stack for a new
thread.
The default value for the stack address attribute of an initialized thread
attributes object is NULL.
For your program to calculate a value for the stackaddr attribute, note
that:
· Your program must allocate the memory that will be used for the new
thread's stack.
· On Tru64 UNIX, to create a new thread using a thread attributes
object, the stackaddr attribute must be an address that points to the
high-memory end of the memory region allocated for the stack. This
address must point to the highest even-boundary quadword in the
allocated memory region.
Also note that:
· If you use the pthread_attr_setstackaddr(3) routine to set a thread
attributes object's stack address attribute and use that attributes
object to create a new thread, DECthreads ignores the attributes
object's guardsize attribute and provides no thread stack guard area
for the new thread.
· If you use the same thread attributes object to create more than one
thread and each created thread uses a nondefault stack address, you
must use the pthread_attr_setstackaddr(3) routine to set a unique
stack address attribute value for each new thread created using that
attributes object.
NOTES
Correct use of this routine depends upon details of the target platform's
stack architecture. Thus, this routine cannot be used in a portable manner.
The size of the stack must be at least PTHREAD_STACK_MIN bytes (see
pthread.h). However, because DECthreads must use a portion of this stack
memory to begin thread execution and to maintain thread state, your
program's "user thread code" cannot rely on using all of the stack memory
allocated.
RETURN VALUES
If an error condition occurs, this routine returns an integer value
indicating the type of error. Possible return values are as follows:
0 Successful completion.
ERRORS
None
SEE ALSO
Functions: pthread_attr_getguardsize(3), pthread_attr_getstackaddr(3),
pthread_attr_getstacksize(3), pthread_attr_init(3),
pthread_attr_setguardsize(3), pthread_attr_setstacksize(3),
pthread_create(3)
Manuals: Guide to DECthreads and Programmer's Guide
 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Top of page |
|