 |
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.
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
SYNOPSIS
#include <pthread.h>
int pthread_attr_setstackaddr(
pthread_attr_t *attr,
void *stackaddr);
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
RELATED INFORMATION
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 |
|