Problems with TCL timers

From: Eyal Raab (eyalr_at_corrigent.com)
Date: 11/28/04


Date: Sun, 28 Nov 2004 19:06:58 +0200

Hi,

I have the following problem at work:
I have an application that talks to several devices.
The application polls the devices to see if they're still alive.

For each device, I am doing the following ( generalized ):
    after $timeToWait [list $device1 doKeepAliveCheck]
    after $moreTimeToWait [list $device1 getInfoFromCard]

The doKeepAliveCheck() method is cyclic and calls itself repeatedly.
The getInfoFromCard() method is intensive and takes a few seconds. When we
have several cards with an older computer, the doKeepAliveCheck() timers
events disappear.
Meaning, they are called the first time, but are not called after that.

My suspicion is that because the getInfoFromCard() method invocations take a
while, the timers are missed because their time has passed.

Am I correct in assuming that this behavior can occur? If not, what else can
cause this behavior?
If I am correct, is there a simple way to guarantee the execution of timers?

I've Googled for a few hours but couldn't find anything useful.

Thanks in advance,
Eyal Raab.
Corrigent Systems


Quantcast