*** timer.c.orig Thu Nov 30 15:08:21 2000 --- timer.c Thu Nov 30 15:14:48 2000 *************** *** 183,188 **** --- 183,189 ---- static TimerList * PendingTimers; static char * current_exec_timer = empty_string; + static int parsingtimer = 0; /* * ExecuteTimers: checks to see if any currently pending timers have *************** *** 196,202 **** { time_t now; TimerList * current; - static int parsingtimer = 0; int old_from_server = from_server; /* --- 197,202 ---- *************** *** 530,535 **** --- 530,541 ---- time_t current; time_t timeout_in; + /* + * If executing ExecuteTimers here would be invalid, then + * do not bother telling the caller we are ready. + */ + if (waiting_out > waiting_in || parsingtimer || !PendingTimers) + return 100000; if (!PendingTimers) return 100000; /* Absurdly large. */ time(¤t);