Bonjour,
Je travaille sous linux (ubuntu) et je cherche à créer une classe permettant d'accéder au données d'un port COM en c++.
J'ai donc créé ma classe mais lors de l'implémentation de la classe qui va traité les signaux j'ai un souci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 __sigset_t t; saio.sa_handler = Signal_handler_IO; //// PROBLEMES saio.sa_mask = t; saio.sa_flags = 0; saio.sa_restorer = NULL; sigaction(SIGIO,&saio,NULL);
Je voudrais faire en sorte que la fonction Signal_handler_IO soit friend de la classe pour pouvoir modifier ces arguments mais je n'y arrive pas.
Peut-on passer un argument au signal handler pour lui mettre la classe en argument?
J'ai vu que l'on pouvait utiliser à la place de sa_handler, sa_sigaction qui avait des arguments différents:
void (*sa_sigaction) (int, siginfo_t *, void *);
Est-ce que dans l'argument void * je peux passer ma classe?
J'ai essayé mais sans succés pour le moment...
Si quelqu'un à une idée pour résoudre mon problème.
D'avance merci.
Partager