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.

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
}
J'ai plusieurs problèmes.
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 :
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 ....
Je ne comprends pas pourquoi.
Quand je teste mes 2 fonctions séparemment, il n'y a pas de soucis.

Vous avez une idée?
Merci,
Lucie