home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
GianuzziV
/
SO1
/
signal2.c
< prev
next >
Wrap
Text File
|
2005-01-31
|
764b
|
33 lines
#define SIGN 020
int status, num=0, pp;
/* signal2.c
Funzionamento su OSF: la signal e' effettuata una sola volta
e vale per piu' segnali;
Attenzione: su Minix la signal va fatta ogni volta che si
vuole intercettare un signal. */
void intr(numsig)
int numsig;
{ printf("ricevuto %o \n", numsig);
num++;
}
main ()
{ int pid;
pid = getpid();
signal (SIGN, intr);
if ((pp=fork()) < 0) {perror("errore"); exit();}
if (pp == 0)
{ kill(pid, SIGN); /* attenzione invertito su Minix */
sleep(2);
kill(pid, SIGN);
exit(1); }
/* padre */
else {
while (num != 2) ;
wait(&status);
printf("numero interruzioni %d stato figlio %x \n", num, status);
exit(0);
}
}