IPB
>  Man Pages > Linux > Suse Linux 10.1 > Section 2 > signal man page

signal man page

Section 2 - Suse Linux 10.1 Man Pages

Other operating system man pages available here


Advanced Search

Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!


SIGNAL(2)                  Linux Programmer's Manual                 SIGNAL(2)




NAME

       signal - ANSI C signal handling


SYNOPSIS

       #include <signal.h>

       typedef void (*sighandler_t)(int);

       sighandler_t signal(int signum, sighandler_t handler);


DESCRIPTION

       The  signal()  system call installs a new signal handler for the signal
       with number signum.  The signal handler is set to sighandler which  may
       be a user specified function, or either SIG_IGN or SIG_DFL.

       Upon  arrival of a signal with number signum the following happens.  If
       the corresponding handler  is  set  to  SIG_IGN,  then  the  signal  is
       ignored.   If  the  handler  is set to SIG_DFL, then the default action
       associated with the signal (see signal(7))  occurs.   Finally,  if  the
       handler  is  set to a function sighandler then first either the handler
       is reset to SIG_DFL or an implementation-dependent blocking of the sig-
       nal is performed and next sighandler is called with argument signum.

       Using  a  signal  handler function for a signal is called "catching the
       signal".  The signals SIGKILL and SIGSTOP cannot be caught or  ignored.


RETURN VALUE

       The signal() function returns the previous value of the signal handler,
       or SIG_ERR on error.


PORTABILITY

       The original Unix signal() would reset the handler to SIG_DFL, and Sys-
       tem  V  (and the Linux kernel and libc4,5) does the same.  On the other
       hand, BSD does not reset the handler, but blocks new instances of  this
       signal from occurring during a call of the handler.  The glibc2 library
       follows the BSD behaviour.

       If one on a libc5 system includes <bsd/signal.h> instead of  <signal.h>
       then  signal()  is  redefined  as  __bsd_signal  and signal has the BSD
       semantics. This is not recommended.

       If one on a  glibc2  system  defines  a  feature  test  macro  such  as
       _XOPEN_SOURCE  or  uses  a  separate  sysv_signal function, one obtains
       classical behaviour. This is not recommended.

       Trying to change the semantics of this call using defines and  includes
       is  not a good idea. It is better to avoid signal() altogether, and use
       sigaction(2) instead.


NOTES

       The effects of this call in a multi-threaded process are unspecified.

       The routine handler must be very careful,  since  processing  elsewhere
       was interrupted at some arbitrary point. POSIX has the concept of "safe
       function".  If a signal interrupts  an  unsafe  function,  and  handler
       calls  an  unsafe  function, then the behavior is undefined. Safe func-
       tions are listed  explicitly  in  the  various  standards.   The  POSIX
       1003.1-2003 list is

       _Exit()  _exit()  abort()  accept()  access()  aio_error() aio_return()
       aio_suspend() alarm() bind() cfgetispeed() cfgetospeed()  cfsetispeed()
       cfsetospeed() chdir() chmod() chown() clock_gettime() close() connect()
       creat() dup() dup2() execle() execve() fchmod() fchown() fcntl() fdata-
       sync()   fork()   fpathconf()  fstat()  fsync()  ftruncate()  getegid()
       geteuid() getgid() getgroups() getpeername() getpgrp()  getpid()  getp-
       pid()   getsockname()  getsockopt()  getuid()  kill()  link()  listen()
       lseek() lstat()  mkdir()  mkfifo()  open()  pathconf()  pause()  pipe()
       poll()  posix_trace_event()  pselect() raise() read() readlink() recv()
       recvfrom()  recvmsg()  rename()  rmdir()  select()  sem_post()   send()
       sendmsg()  sendto()  setgid()  setpgid() setsid() setsockopt() setuid()
       shutdown()  sigaction()  sigaddset()  sigdelset()  sigemptyset()   sig-
       fillset()  sigismember() signal() sigpause() sigpending() sigprocmask()
       sigqueue() sigset() sigsuspend() sleep() socket()  socketpair()  stat()
       symlink()  sysconf()  tcdrain()  tcflow() tcflush() tcgetattr() tcgetp-
       grp() tcsendbreak() tcsetattr() tcsetpgrp()  time()  timer_getoverrun()
       timer_gettime()   timer_settime()   times()  umask()  uname()  unlink()
       utime() wait() waitpid() write().

       According to POSIX, the behaviour of a process is  undefined  after  it
       ignores  a  SIGFPE, SIGILL, or SIGSEGV signal that was not generated by
       the kill(2) or the raise(3) functions.  Integer division  by  zero  has
       undefined result.  On some architectures it will generate a SIGFPE sig-
       nal.  (Also dividing the most  negative  integer  by  -1  may  generate
       SIGFPE.)  Ignoring this signal might lead to an endless loop.

       See  sigaction(2)  for  details  on what happens when SIGCHLD is set to
       SIG_IGN.

       The use of sighandler_t is a GNU extension.  Various versions  of  libc
       predefine  this  type;  libc4  and  libc5  define  SignalHandler, glibc
       defines sig_t and, when _GNU_SOURCE is defined, also sighandler_t.


CONFORMING TO

       ANSI C


SEE ALSO

       kill(1), alarm(2), kill(2), pause(2), sigaction(2), sigpending(2), sig
       procmask(2),  sigqueue(2),  sigsuspend(2),  killpg(3), raise(3), sigse
       tops(3), sigvec(3), signal(7)



Linux 2.2                         2000-04-28                         SIGNAL(2)


Man(1) output converted with man2html and wrapped by fishsponge

This page was generated on Tue Feb 13 02:17:40 GMT 2007

Your favourite pages:

No pages logged yet.
Trying to save cookie...

Top 10 most popular pages:

sqlite3 man page (5323 hits)
(openSUSE 10.2)

svn man page (5169 hits)
(FreeBSD 6.2)

adv_cap_autoneg man page (4865 hits)
(Solaris 10 11_06)

CPAN man page (4602 hits)
(Suse Linux 10.1)

ssh man page (4337 hits)
(Suse Linux 10.1)

ssh-socks5-proxy-connect man page (2841 hits)
(Solaris 10 11_06)

netcat man page (2688 hits)
(Suse Linux 10.1)

pprosetup man page (2472 hits)
(Solaris 10 11_06)

startproc man page (2452 hits)
(Suse Linux 10.1)

signal man page (2393 hits)
(Suse Linux 10.1)

Useful Links

Go Back

Visitor Statistics


Valid XHTML 1.0 Transitional     Valid CSS!

Partners: Cambridge Plus :: Pyrenees Golf Courses :: Server Room Temperature Monitor :: <Link Available>
Unix Man Pages / Linux Man Pages :: HiFi Forum :: SIP VoIP Phone & Provider Reviews :: UNIX/Linux Forum Archives

More info on advertising on Unix/Linux Forum