| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- return the minimum-allowable size for a thread's stack
cc –mt [flag... ]file...[library... ]#include <thread.h>size_tthr_min_stack(void);
When a thread is created with a user-supplied stack, the user mustreserve enough space to run this thread. In a dynamically linked executionenvironment, it is very hard to know what the minimum stack requirements arefor a thread. The functionthr_min_stack() returns the amount of space neededto execute a null thread. This is a thread that was createdto execute a null procedure. A thread that does something useful should havea stack size that isthr_min_stack() +<some increment>.
Most users should not be creating threads with user-supplied stacks. This functionalitywas provided to support applications that wanted complete control over their executionenvironment.
Typically, users should let the threads library manage stack allocation. The threadslibrary provides default stacks which should meet the requirements of any createdthread.
thr_min_stack() will return the unsigned intTHR_MIN_STACK, which is the minimum-allowable sizefor a thread's stack.
In this implementation the default size for a user-thread's stack is onemega-byte. If the second argument tothr_create(3C) is NULL, then the defaultstack size for the newly-created thread will be used. Otherwise, you mayspecify a stack-size that is at leastTHR_MIN_STACK, yet less than the sizeof 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:
/* cc thisfile.c -lthread */#define _REENTRANT#include <thread.h>#include <stdio.h>main( ) { printf("thr_min_stack( ) returns %u\n",thr_min_stack( ));}Seeattributes(5) for descriptions of the following attributes:
|
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |