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
Répondre Avertir


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é