Home | History | Annotate | Download | only in sigaltstack
      1 <assertions>
      2   <assertion id="1" tag="ref:XSH6:41734:41738 pt:XSI">
      3 	The sigaltstack ( ) function allows
      4 	A process is able to define and examine the state of an alternate stack for signal handlers using
      5 	sigaltstack(). Signals shall be delivered on the alternate stack if they have been explicitly declared to
      6 	execute on the alternate stack. Unless it is a null pointer, ss points to a stack_t structure that
      7 	specifies the alternate signal stack that shall take effect upon return from sigaltstack ( ).
      8   </assertion>
      9   <assertion id="2" tag="ref:XSH6:41738:41739 pt:XSI">
     10 	The stack is disabled and ss_sp and ss_size are ignored, if ss_flags is set to SS_DISABLE
     11   </assertion>
     12   <assertion id="3" tag="ref:XSH6:41740:41741 pt:XSI">
     13 	The stack shall be enabled, and the ss_sp and ss_size members specify the new address
     14 	and size of the stack, if ss_flags is not set to SS_DISABLE.
     15   </assertion>
     16   <assertion id="4" tag="ref:XSH6:41742:41743 pt:XSI">
     17 	The area of memory starting at ss_sp up to but not including ss_sp+ss_size is available to the
     18 	implementation for use as the stack.
     19   </assertion>
     20   <assertion id="5" tag="ref:XSH6:41745:41747 pt:XSI">
     21 	On successful completion, oss shall point to a stack_t structure that if it's is not a null pointer.
     22 	It specifies the alternate signal stack that was in effect prior to the call to sigaltstack ( ).
     23 	The address and size of that stack are respectively the ss_sp and ss_size members.
     24   </assertion>
     25   <assertion id="6" tag="ref:XSH6:41747:41749 pt:XSI">
     26 	When ss_flags is set to SS_ONSTACK, the process is currently executing on the alternate signal stack.
     27   </assertion>
     28   <assertion id="7" tag="ref:XSH6:41749:41750 pt:XSI">
     29 	An attempt to modify the alternate signal stack while the process is executing on it will fail.
     30   </assertion>
     31   <assertion id="8" tag="ref:XSH6:41752:41752 pt:XSI">
     32 	When ss_flags is set to SS_DISABLE, the alternate signal stack is currently disabled.
     33   </assertion>
     34   <assertion id="9" tag="ref:XSH6:41759:41760 pt:XSI">
     35 	There are no alternate signal stacks in the new process image, after a successful call to one of the
     36 	exec functions.
     37   </assertion>
     38   <assertion id="10" tag="ref:XSH6:41766:41767 pt:XSI">
     39 	sigaltstack ( ) shall return 0 upon successful completion,
     40   </assertion>
     41   <assertion id="11" tag="ref:XSH6:41770:41772 pt:XSI">
     42 	sigaltstack shall return -1 and set errno to [EINVAL] if the ss argument is not a null pointer, and
     43 	the ss_flags member pointed to by ss contains flags other than SS_DISABLE.
     44   </assertion>
     45   <assertion id="12" tag="ref:XSH6:41773:41773 pt:XSI">
     46 	sigaltstack shall return -1 and set errno to [ENOMEM] if The size of the alternate stack area is
     47 	less than MINSIGSTKSZ.
     48   </assertion>
     49   <assertion id="13" tag="ref:XSH6:41774:41774 pt:XSI">
     50 	sigaltstack shall return -1 and set errno to [EPERM] An attempt was made to modify an active stack.
     51   </assertion>
     52 </assertions>
     53 
     54 
     55