sigaction man page on Minix

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

SIGACTION(2)							  SIGACTION(2)

NAME
       sigaction, signal - manage signal state and handlers

SYNOPSIS
       #include <signal.h>

       int  sigaction(int  sig,	 const struct sigaction *act, struct sigaction
	    *oact)
       void (*signal(int sig, void (*handler)(int)))(int);

DESCRIPTION
       Sigaction() is used to examine, set, or modify the attributes of a sig‐
       nal.   The  argument  sig  is the signal in question.  The act argument
       points to a structure containing the new attributes of the signal,  the
       structure  pointed to by oact will receive the old attributes that were
       in effect before the call.

       The act and oact arguments may be NULL to indicate that either  no  new
       attributes  are to be set, or that the old attributes are not of inter‐
       est.

       The structure containing the signal attributes is defined in <signal.h>
       and looks like this:

	      struct sigaction {
		  void	      (*sa_handler)(int sig);
		  sigset_t    sa_mask;
		  int	      sa_flags;
	      };

       The  sa_handler field contains the address of a signal handler, a func‐
       tion that is called when the process is signalled, or one of these spe‐
       cial constants:

       SIG_DFL	   Default  signal  handling is to be performed.  This usually
		   means that the process is killed, but some signals  may  be
		   ignored by default.

       SIG_IGN	   Ignore the signal.

       The  sa_mask field indicates a set of signals that must be blocked when
       the signal is being handled.  Whether the signal sig itself is  blocked
       when  being  handled  is not controlled by this mask.  The mask is of a
       "signal set" type that is to be manipulated by the sigset(3) functions.

       How the signal is handled precisely is specified by bits	 in  sa_flags.
       If  none of the flags is set then the handler is called when the signal
       arrives.	 The signal is blocked during the call	to  the	 handler,  and
       unblocked  when the handler returns.  A system call that is interrupted
       returns -1 with errno set to EINTR.  The following bit flags can be set
       to modify this behaviour:

       SA_RESETHAND   Reset  the  signal handler to SIG_DFL when the signal is
		      caught.

       SA_NODEFER     Do not block the signal on entry to the handler.

       SA_COMPAT      Handle the signal in a way that is compatible  with  the
		      the old signal() call.

       The  old	 signal() signal system call sets a signal handler for a given
       signal and returns the old signal handler.  No signals are blocked, the
       flags  are  SA_RESETHAND | SA_NODEFER | SA_COMPAT.  New code should not
       use signal().  Note that signal() and all of the SA_* flags are MINIX 3
       extensions.

       Signal handlers are reset to SIG_DFL on an execve(2).  Signals that are
       ignored stay ignored.

   Signals
       MINIX 3 knows about the following signals:

       signal	  num	 notes	 description

       SIGHUP	  1	 km	 Hangup
       SIGINT	  2	 k	 Interrupt (usually DEL or CTRL-C)
       SIGQUIT	  3	 kcm	 Quit (usually CTRL-\)
       SIGILL	  4	 Kc	 Illegal instruction
       SIGTRAP	  5	 Kc	 Trace trap
       SIGABRT	  6	 kcm	 Abort program
       SIGBUS	  7	 Kc	 Bus error
       SIGFPE	  8	 Kc	 Floating point exception
       SIGKILL	  9	 k	 Kill
       SIGUSR1	  10	 k	 User defined signal #1
       SIGSEGV	  11	 Kc	 Segmentation fault
       SIGUSR2	  12	 k	 User defined signal #2
       SIGPIPE	  13	 k	 Write to a pipe with no reader
       SIGALRM	  14	 k	 Alarm clock
       SIGTERM	  15	 km	 Terminate (default for kill(1))
       SIGEMT	  16	 xKc	 Emulator trap
       SIGCHLD	  17	 pi	 Child process terminated
       SIGCONT	  18	 pi	 Continue if stopped
       SIGSTOP	  19	 ps	 Stop signal
       SIGTSTP	  20	 ps	 Interactive stop signal
       SIGWINCH	  21	 xi	 Window size change
       SIGTTIN	  22	 ps	 Background read
       SIGTTOU	  23	 ps	 Background write
       SIGVTALRM  24	 k	 Virtual alarm clock
       SIGPROF	  25	 k	 Profiler alarm clock

       The letters in the notes column indicate:

       k    The process is killed if the signal is not caught.

       K    The process is killed if the signal is not caught. If  the	signal
	    is	received  due  to  an  exception  while ignored or masked, the
	    process is killed even if a handler is defined to catch  the  sig‐
	    nal.

       c    The signal causes a core dump.

       i    The signal is ignored if not caught.

       m    The signal is converted to a message for system processes.

       x    MINIX 3 extension, not defined by POSIX.

       p    These  signals  are	 not implemented, but POSIX requires that they
	    are defined.

       s    The process should be stopped, but is killed instead.

       The SIGKILL and SIGSTOP signals cannot be caught or ignored.  The  SIG‐
       ILL  and	 SIGTRAP  signals  cannot  be automatically reset.  The system
       silently enforces these restrictions.  This may or may not be reflected
       by the attributes of these signals and the signal masks.

   Types
       POSIX prescribes that <sys/types.h> has the following definition:

	      typedef int (*sighandler_t)(int)

       With this type the following declarations can be made:

	      sighandler_t sa_handler;
	      sighandler_t signal(int sig, sighandler_t handler);

       This  may  help you to understand the earlier declarations better.  The
       sighandler_t type is also very useful in old style C code that is  com‐
       piled by a compiler for standard C.

SEE ALSO
       kill(1),	 kill(2),  pause(2),  sigprocmask(2),  sigsuspend(2), sigpend‐
       ing(2), sigset(3).

DIAGNOSTICS
       Sigaction() returns 0 on success or -1 on error.	 Signal() returns  the
       old handler on success or SIG_ERR on error.  The error code may be:

       EINVAL	 Bad signal number.

       EFAULT	 Bad act or oact addresses.

AUTHOR
       Kees J. Bot (kjb@cs.vu.nl)

								  SIGACTION(2)
[top]

List of man pages available for Minix

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