Je désire incrémenter un compteur à intervalles réguliers. Je veux aussi que cette incrémentation se fasse dans un thread spécifique. Et enfin je veux travailler en temps réel.
Pour faire ça je ne sais pas trop comment m'y prendre mais voilà ce à quoi j'avais pensé mais je pense que je n'utilise pas bien les fonctions POSIX car mon code ne compile pas.
Dans le main:
Créer le thread spécifique en appelant la méthode CreateRunThread de la classe MyClass.
Créer et lancer un timer à l'aide des fonctions timer_create et timer_settime. Le timer va me générer à intervalle régulier l'évènement event (de type struct sigevent), je définis cet évènement comme le signal SIGRTMIN à l'aide de
SIGEV_SIGNAL_INIT(&event, SIGRTMIN).
Puis j'envoie ce signal au thread attaché à la méthode Run qui incrémente le compteur à l'aide de signal(SIGRTMIN,myclass->Run) , Run étant la méthode de la classe MyClass qui va incrémenter le compteur.
Qu'est ce qui cloche?
J'ai joint mon code et mes messages d'erreurs
NB:j'utilise une classe car ce petit programme est seulement un test pour une application plus grande
Partager