User-Managed Stack Attributes
In POSIX 1003.1c-compliant systems, support for user-defined stacks is optional. The Threads Module determines the support for user-defined stacks by testing for the definition of the standard POSIX macro _POSIX_THREAD_ATTR_STACKADDR.
The Threads Module on AIX supports user-managed stacks.
If an attempt is made to set the user stack address to zero, or to set the user stack size to a value less than the minimum stack size returned by the getMinStackSize() function, a RWTHRBoundsError exception is produced.
The Threads Module imposes no upper limit for user stack size; the maximum stack size is effectively limited by the virtual memory and pagefile size available to the user.
Attempts to query for a default user-stack address value or user-stack size value will result in an RWTHROperationNotAvailable exception. These values may only be queried after they have been set.
The user-managed stack attribute and stack reserve size stack attribute are mutually exclusive, therefore, a call to setStackReserveSize() replaces or nullifies the attribute settings produced by any previous call to setUserStack() and vice versa.