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

FreeBSD Manual Pages

  
 
  

home | help
SIGRETURN(2)		      System Calls Manual		  SIGRETURN(2)

NAME
       sigreturn -- return from	signal

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<signal.h>

       int
       sigreturn(const ucontext_t *scp);

DESCRIPTION
       The  sigreturn()	 system	call allows users to atomically	unmask,	switch
       stacks, and return from a signal	context.  The thread's signal mask and
       stack status are	restored from the context structure pointed to by scp.
       The system call	does  not  return;  the	 users	stack  pointer,	 frame
       pointer,	 argument  pointer, and	processor status longword are restored
       from the	context.  Execution resumes at the specified pc.  This	system
       call  is	used by	the trampoline code and	longjmp(3) when	returning from
       a signal	to the previously executing program.

RETURN VALUES
       If successful, the system call does not return.	Otherwise, a value  of
       -1 is returned and errno	is set to indicate the error.

ERRORS
       The  sigreturn()	 system	call will fail and the thread context will re-
       main unchanged if one of	the following occurs.

       [EFAULT]		  The scp argument points to  memory  that  is	not  a
			  valid	part of	the process address space.

       [EINVAL]		  The  process status longword is invalid or would im-
			  properly raise the privilege level of	the process.

SEE ALSO
       sigaction(2), setjmp(3),	ucontext(3)

HISTORY
       The sigreturn() system call appeared in 4.3BSD.

FreeBSD	13.2		       September 6, 2013		  SIGRETURN(2)

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sigreturn&sektion=2&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help