Bonjour,
Je travaille sur une application TK.
J'ai un soucis sur une partie.
J'exécute une commande à l'aide d'un telnet. Cette commande prend du temps pour s'exécuter (20 mins). Durant ce temps, je souhaite exécuter d'autres fonctions et afficher le résultat dans mon application.
J'ai plusieurs problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 sub fonction(){ #Je lance une commande qui va s'exécuter 20 mins par l'intermédiaire de telnet telnet..... print "Fonction très longue"; #Je veux lancer une autre fonction #Cette fonction lance une autre commande avec telnet, #récupère le résultat et l'affiche dans mon application my $t1=threads->new(\&fonction2); $t1->join; #Affichage du résultat de la commande très longue # dans mon application }
Tout d'abord, mon application reste "bloquée", et le résultat d'exécution de la fonction 2 ne s'affiche pas dans mon application (je n'ai pas la main sur l'application).
Ensuite, j'ai un message d'erreur :
Je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Thread 1 terminated abnormally : not a CODE reference at ... Free to wrong pool ....
Quand je teste mes 2 fonctions séparemment, il n'y a pas de soucis.
Vous avez une idée?
Merci,
Lucie
Partager