#define to 10 /* intervalle entre 2 messages */ #define nbdem 4 /* nb de demandes




Дата канвертавання26.04.2016
Памер8.72 Kb.
/*

* alarme.c

* utilisation de alarm

*/
#include

#include

#include


#define TO 10 /* intervalle entre 2 messages */

#define NBDEM 4 /* nb de demandes */


int sigalrm();
main()

{

int k;



char buffer[80]; /* compteur buffer de lecture message */
/*

* boucle attente message de l'operateur avec

* message signalant le temps restant

*/

for(k=NBDEM;k>0;--k)



{

/* affichage message donnant le temps restant */

printf("Reponse attendue avant %d secondes\n",k*TO);

/* mise en place traitement alarme horloge */

signal(SIGALRM,sigalrm);
/* demande alarme horloge dans TO secondes */

alarm(TO);


/* attente reponse */

if(read(0,buffer,80)==-1)

{

if(errno!=EINTR)



{

perror("read");

exit(1);

}

}



else break;

}
/*

* a-t-on eu une reponse?

*/

if(k) printf("ok\n");



else printf("trop tard...\n");

exit(0);
}

/*

* procedure traitement alarme horloge



*/

sigalrm()



{

/* on ne fait rien */



return;

}


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка