Author: Frederic Giroud Date: To: ML Guilde Subject: Re: Interruptions en C++
Salut,
> Comment utilise-t-on (si c'est possible), les fonctions de mise en place
> des interruptions (alarm(), raise(), kill(), signal() et les sigxxx()) en
>
> C++ ?
ca va pas etre facile, ce sont des fonctions C
> Par exemple, peut-on passer la methode d'un objet particulier a la
> fonction signal() ?
non, ca marchera jamais a moins que ce ne soit une methode "static"
comme ayant la meme signature qu'un handler normal.
> Sinon, est-il possible, dans la fonction C qui servira de handler dans
> signal(), de creer un objet C++ et d'appeler des methodes de celui-ci ?
cela depend de ce que fait ton programme.
s'il ne fait rien (sleep, read, wait...) cela pourra etre fait sans
probleme.
sinon, tu risques de faire des allocations re-entrantent (ou tout
autres fonctions ne supportant pas la re-entrance) et la, c'est
plus complique. (mais ce n'est pas impossible a faire avec les
fonctions "sigmask")
> Merci pour vos lumieres.
en fait tu veux peut etre implementer une sorte de "timer" ?
(pour effectuer une ou plusieurs taches regulierement, en parallele
avec une tache principale, par exemple ?)