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:
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:
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