Erreur lecture fichier.db
#6
la ligne return $lvl met fin à ta procédure en retournant le contenu de la variable $lvl; par conséquent, quand cela se produit, la ligne catch {close $channel} n'est pas exécutée et le handle reste ouvert.

Après un certain nombre d'utilisations de ta commande, les handles restés ouverts se sont cumulés jusqu'à atteindre la limite maximum autorisée par ton eggdrop et tu obtiens cette erreur.

La solution est de remplacer
tcl
if {$ident eq $::ident($pseudo) || $ident eq "any"} {
     return $lvl
}


par
tcl
if {$ident eq $::ident($pseudo) || $ident eq "any"} {
     close $channel
     return $lvl
}


Et au passage, pourquoi utiliser catch lors de l'ouverture et de la fermeture ?
Il existe une panoplie de commandes pour vérifier l'existence d'un fichier ou non, le droit de le lire/écrire ou non, etc...
Plutôt qu'utiliser catch pour que les erreurs ne soient pas gênantes, gère-les.

Jette un oeil aux commandes suivantes :
file exists
file readable
file writable
Toute l'actualité de mes scripts ici (dernière mise à jour le 14/07/2018)
Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
Répondre


Messages dans ce sujet
Erreur lecture fichier.db - par heretoc - 09/07/2010, 18:56
RE: Erreur lecture fichier.db - par MenzAgitat - 09/07/2010, 19:47
RE: Erreur lecture fichier.db - par heretoc - 09/07/2010, 20:18
RE: Erreur lecture fichier.db - par MenzAgitat - 10/07/2010, 00:16
RE: Erreur lecture fichier.db - par heretoc - 10/07/2010, 01:05
RE: Erreur lecture fichier.db - par MenzAgitat - 10/07/2010, 02:19
RE: Erreur lecture fichier.db - par heretoc - 10/07/2010, 03:01

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit - Discutez en toute liberté - Transitionnez vers Linux - Discussions dans le Lauragais - Communauté LGBT respectueuse - soutien aux victimes de cybermalveillance - pour les filles par les filles