thr_min_stack man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

THR_MIN_STACK(3C)					     THR_MIN_STACK(3C)

NAME
       thr_min_stack - return the minimum-allowable size for a thread's stack

SYNOPSIS
       cc -mt [ flag... ] file...[ library... ]
       #include <thread.h>

       size_t thr_min_stack(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 execu‐
       tion  environment,  it  is  very	 hard  to  know what the minimum stack
       requirments are for a thread.  The function thr_min_stack() 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 thr_min_stack() + <some incre‐
       ment>.

       Most users should not be creating threads  with	user-supplied  stacks.
       This  functionality  was	 provided  to support applications that wanted
       complete control over their execution environment.

       Typically, users should let the threads library	manage	stack  alloca‐
       tion. The threads library provides default stacks which should meet the
       requirements of any created thread.

       thr_min_stack() will return the unsigned int  THR_MIN_STACK,  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 thr_create(3C) is  NULL,  then
       the  default stack size for the newly-created thread will be used. Oth‐
       erwise, you may specify a stack-size that is  at	 least	THR_MIN_STACK,
       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:

	 /* cc thisfile.c -lthread */
	 #define _REENTRANT
	 #include <thread.h>
	 #include <stdio.h>
	 main()	 {
		 printf("thr_min_stack() returns %u\n",thr_min_stack());
	 }

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌───────────────┬─────────────────┐
       │ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
       ├───────────────┼─────────────────┤
       │MT-Level       │ MT-Safe	 │
       └───────────────┴─────────────────┘

SEE ALSO
       attributes(5), standards(5)

				 May 12, 1998		     THR_MIN_STACK(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net