obsluha signalu

Suma Petr Tobiska tobiska na ure.cas.cz
Pátek Květen 15 07:26:47 CEST 1998


Ahoj,

chtel bych se zeptat na nejake detaily ohledne funkci obsluhujici
signaly.

Obsluhuji dva signaly, rekneme SIGHUP  a SIGUSR1 funkcemi hup() a usr().
Potrebuji zajistit aby pri obsluze jednoho ze signalu nebylo mozne tyto
funkce vyvolat. Zajistoval jsem to tim, ze v kazde funkci jsem nejprve
volal  signal( SIGHUP, unserve ) ( na konci obsluzne fce jsem volal
signal( SIGHUP, hup ), analogicky pro SIGUSR1), kde 

void unserve( int signo )
{    signal( signo, unserve );
     printf( "Unserved signal no. %d\n", signo ); }

ale nikdy se mi fci unserve nepodarilo vyvolat, spise se zda, ze pri
obsluze je signal pozdrzen a zaslan teprve po navratu. Je to pravda a
jak se to chova, kdyz v obsluze volam usleep() nebo scanf()?

Pouzivam RH 5.0 a 4.2, na jinych unixech me to nezajima. Kde se o tomto
da docist vice?

Diky za rady
                 Suma

--    Suma Petr Tobiska ( Tobi\v ska )  
      Faculty of Mathematics and Physics, Charles University, Prague
      IREE, Academy of Sciences, Prague
mail-to:  suma na mail.kolej.mff.cuni.cz


Další informace o konferenci Linux