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