#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>

#define TIME_CST 330000

int cpt= 0;

void do_work(unsigned int duration) /* duration en millisecondes */
{
    int i;

    for(i=0;i<TIME_CST *duration;i++) asm volatile ("nop");
}

void signal_handler()
{
    printf("Alarme\n");
    do_work(500);
    sleep(0.5);
}

int main()
{
    signal(SIGALRM, signal_handler);

    alarm(1);

    pause();

    return 0;
}
