|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
[c]problemi con alarm()
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 !!!! Codice:
#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);
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
perché appena chiamata la alarm il processo termina :E, stampa e poi fa return dal main
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
ho provato a mettere una sleep(3) dopo la printf ma non cambia nulla!!!
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
be', l'alarm è messo a 10 secondi..
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:56.



















