PDA

View Full Version : [c]problemi con alarm()


Prince_81
20-06-2011, 07:36
ciao a tutti,
ho creato un piccolo programmino per provare la funzione alarm() ma all'atto pratico non invia il segnale SIGALRM al processo invocante sapreste dirmi come mai? magari ho sbagliato qualcosa !!!!

#include<stdio.h>
#include<signal.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#define INTERVALLO 10
static void siguser(int);

int main(int argc,char *argv[],char *envp[]){

signal(SIGALRM,siguser);

int flag;
unsigned int a;
printf("digita 1 per sigalrm\n");
scanf("%d",&flag);


if(flag==1){
printf("attendi tot secondi\n");
a=alarm(INTERVALLO);
printf("alarm %d\n",a);
}
return 0;
}

static void siguser(int signo){

if(signo==SIGALRM){
printf("segnale sigalrm ricevuto\n");
exit(1);
}

}

tuccio`
20-06-2011, 07:56
perché appena chiamata la alarm il processo termina :E, stampa e poi fa return dal main

Prince_81
20-06-2011, 11:54
ho provato a mettere una sleep(3) dopo la printf ma non cambia nulla!!!

tuccio`
20-06-2011, 13:46
be', l'alarm è messo a 10 secondi..