thr_min_stack(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

thr_min_stack(3c)

thr_min_stack(3C)        Standard C Library Functions        thr_min_stack(3C)

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

SYNOPSIS
       #include <thread.h>

       size_t thr_min_stack(void);

DESCRIPTION
       When  a thread is created with a user-supplied stack, the user must re‐
       serve enough space to run this thread. In a dynamically  linked  execu‐
       tion  environment,  it  is very hard to know what the minimum stack re‐
       quirements 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 */
         #include <thread.h>
         #include <stdio.h>
         main()  {
                 printf("thr_min_stack() returns %u\n",thr_min_stack());
         }


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

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


SEE ALSO
       attributes(7), standards(7)

Oracle Solaris 11.4               15 May 2014                thr_min_stack(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3