driver linux - C - Programmation
Marsh Posté le 19-04-2005 à 09:07:18
nico_du_63 a écrit : Salut a tous |
Si tu lances un timer avec la fonction "alarm(n)" alors ton appli recevra un signal "SIGALRM" lorsque le timer se sera écoulé => tu le trappes avec "signal(SIGALRM, fct)" et tu programmes ta fonction "void fct(int s)"
Marsh Posté le 19-04-2005 à 09:39:08
Merci pour ta reponse Sve@r
j'ai essayé. ca marche bien mais le probleme c'est que tu met alarm()
dans l'appli, mais moi ce que je voudrai c'est notifier la fin du timer qui se deroule dans le driver
Marsh Posté le 19-04-2005 à 10:27:06
nico_du_63 a écrit : Merci pour ta reponse Sve@r |
Ben tu places un "alarm" dans le driver et dans la fonction "fct" (qui se situe aussi dans le driver) tu utilises ton outil de comm entre appli et driver pour faire remonter l'info vers l'appli...
Marsh Posté le 19-04-2005 à 10:42:48
tu peux pas utiliser la fonction alarm dans le driver
car tu peux pas inclure unistd.h
Marsh Posté le 19-04-2005 à 10:44:43
je reviens a ta reponse
c'est justement ca mon pb:j'arrive pas a faire remonter l'info vers l'appli
Marsh Posté le 19-04-2005 à 20:12:02
nico_du_63 a écrit : je reviens a ta reponse |
Je ne connais pas le détail des drivers Linux, mais la méthode habituelle est le callback.
Marsh Posté le 19-04-2005 à 08:56:09
Salut a tous
Je suis en train de développer un driver Linux.
Pour le moment, je fais un module simple avec des fonctionnalités de base.
J'ai créé une application qui communique avec le driver.
L'application lance une fonction par l'IOCTL qui signale au driver de
lancer un timer.
L'application n'est alors pas bloquée. Jusqu'ici tout va bien.
Ce que je n'arrive pas à faire, c'est signaler à l'application que le
timer est fini (sachant qu'elle n'est pas bloquée).
J'ai essayé plusieurs pistes, mais aucune n'a abouti.
Merci d'avance pour vos reponses