Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
sigstack(2)							   sigstack(2)

       sigstack	- set or get signal stack context

       #include	<signal.h>

       struct sigstack {
       caddr_t	 ss_sp;
       int  ss_onstack;

       sigstack(ss, oss)
       struct sigstack *ss, *oss;

       The system call allows users to define an alternate stack on which sig-
       nals are	to be processed.  If ss	is  nonzero,  it  specifies  a	signal
       stack  on  which	to deliver signals and tells the system	if the process
       is currently executing on that stack.  When a signal's action indicates
       its handler should execute on the signal	stack (specified with a	call),
       the system checks to see	if the process is currently executing on  that
       stack.	If the process is not currently	executing on the signal	stack,
       the system arranges a switch to the signal stack	for  the  duration  of
       the  signal handler's execution.	 If oss	is nonzero, the	current	signal
       stack state is returned.

       Signal stacks are not grown'automatically, as is	done  for  the	normal
       stack.  If the stack overflows, unpredictable results may occur.

Return Values
       Upon  successful	 completion,  a	value of zero (0) is returned.	Other-
       wise, a value of	-1 is returned and errno is set	to indicate the	error.

       The  system  call fails and the signal stack context remains unchanged,
       if one of the following occurs.

       [EFAULT]	      Either ss	or oss points to memory	that is	 not  a	 valid
		      part of the process address space.

See Also
       sigvec(2), setjmp(3)


Name | Syntax | Description | Return Values | Diagnostics | See Also

Want to link to this manual page? Use this URL:

home | help