j'ai un souci avec une application multithread je vais essayer d'être claire
en gros :
j'ai mon IHM dans un thread
au démarrage j'initialise un autre thread qui a un callback sur un événement du port série
se thread (numéro 2) verrouille une sémaphore ...
lorsque l'ihm fait une demande sur le port série elle attend gentilment que le sémaphore soit libéré
des que le port série reçoit une réponse il libère la sémaphore
l'ihm reprend alors sont traitement normal et tout le monde est content ...
tout le monde ... sauf le pauvre mec qui c'est gouré de port série et qui n'aura donc jamais de réponse... et il verra son appli figée ... a attendre une réponse en vain ...
solution ... mettre un timer ... oui mais comment dire au timer de libérer un sémaphore qui a été verrouiller ailleurs ... ben on peu pas (c'est même le but d'une sémaphore...)
es que vous auriez des idées de solutions ???
Partager