// Il faut déterminer le temps d'attente
// => soustraction avec le temps courant

// timer_t crée un timer avec un ID 

// struct itimerspec info_timer
// sigalarm doit être associé à une fonction

// time_create(CLOCK_REALTIME, NULL, &timer_id);
// Crée un timer avec l'id donnée

// Infos relatives au timer à définir :

// info_timer.it_value.tv_sec = PERIOD_SEC;
// info_timer.it_value.tv_nsec = PERIOD_NSEC;

// info_timer.it_interval._sec = PERIOD_SEC;
// info_timer.it_interval._nsec = PERIOD_NSEC;

// Celui-ci peut alors etre démarré
// timer_settime(timer_id, 0, &info_timer, NULL);

/////////////////////////////////////////////////////////////////////////////////////////////////////////

// initi

#include <semaphore.h>
#include <pthread.h>
//#include <iostream>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <time.h>


#define PROCESS 325000
#define PERIOD_SEC 1
#define PERIOD_NSEC 0


void* handler()
{
	printf("recu\n");	
}

int main(void)
{
	timer_t timer_id;
	struct itimerspec info_timer;
	
	signal(SIGALRM, (void*)handler); // cast : effectue une conversion int --> void

	timer_create(CLOCK_REALTIME, NULL, &timer_id);
	
	info_timer.it_value.tv_sec = PERIOD_SEC;
	info_timer.it_value.tv_nsec = PERIOD_NSEC;

	info_timer.it_interval.tv_sec = PERIOD_SEC;
	info_timer.it_interval.tv_nsec = PERIOD_NSEC;
	
	timer_settime(timer_id, 0, &info_timer, NULL);

	while(1)
	
		pause();
	
	return 0;
}