signal

SIGNAL(2)		 Linux - prirucka Programatora		     SIGNAL(2)



JMENO
       signal - prace se signaly v ANSI C


SYNTAXE
       #include <signal.h>


       void (*signal(int signum, void (*handler)(int)))(int);


POPIS
       Systemove  volani  signal instaluje novou obsluznou funkci pro signal s
       cislem signum.  Obsluha signalu je nastavena na handler, coz  muze  byt
       uzivatelsky definovana funkce, nebo jedna z nasledujicich konstant:

	      SIG_IGN
		     Signal bude ignorovan.

	      SIG_DFL
		     Nastavi se standardni obsluha signalu.

       Obsluzna	 funkce	 dostane  pri zavolani jako parametr cislo signalu. To
       umoznuje pouzit jednu obsluznou funkci pro vice signalu.


NAVRATOVA HODNOTA
       Funkce signal vraci predchozi hodnotu obsluhy signalu, nebo  SIG_ERR  ,
       nastane-li chyba.

POZNAMKY
       Nelze nastavit obsluhu signalu SIGKILL a SIGSTOP.

       V Linuxu se na rozdil od systemu BSD obsluha signalu vraci pri prichodu
       signalu na standardni hodnotu.  Kdyz ale pouzijete  #include  <bsd/sig-
       nal.h>  misto <signal.h> , je funkce signal predefinovana na __bsd_sig-
       nal a chova se jako v BSD.   Obe	 verze	funkce	signal	jsou  knihovni
       funkce, ktere pouzivaji systemove volani sigaction(2).

       Neni-li	Vam  jasna  syntaxe uvedena na zacatku teto manualove stranky,
       mozna Vam pomuze tento ekvivalentni zapis:

       typedef void (*sighandler_t)(int);
       sighandler_t signal(int signum, sighandler_t handler);

       Podle normy POSIX neni definovano chovani  procesu  pote,  co  ignoruje
       signal  SIGFPE,	SIGILL,	 nebo  SIGSEGV, ktery nebyl generovan funkcemi
       kill() nebo raise().  Celociselne deleni nulou dava nedefinovany vysle-
       dek  a  na nekterych architekturach generuje signal SIGFPE.  Ignorovani
       tohoto signalu muze zpusobit zacykleni procesu.


SPLNUJE STANDARDY
       ANSI C


DALSI INFORMACE
       kill(1), kill(2), killpg(2),  pause(2),	raise(3),  sigaction(2),  sig-
       nal(7), sigsetops(3), sigvec(2), alarm(2).




Linux 2.0			18. unora 1997			     SIGNAL(2)

Personal Tools