proc test {} {
if {[string index [set time [clock format [clock seconds] -format "%M"]] 0] == "0"} { set time [string index $time 1] }
if {$time != "6"} {
timer 1 test
return
}
#rest
timer 1 test
}
The above code, while it is called every min, will only reach "#REST" when it is 6 mins past.
Timers and time binds, don't just have to be called at the preceice time a function takes place.
This sounds like some other job running on the box hogging all avaliable resources for a while...
The timer drift message means the eggdrop loop hasn't been run for a while which means the system probably was too busy doing other things to bother with your eggdrop process.