[DGD] call_out delay
Felix A. Croes
felix at dworkin.nl
Fri Feb 21 19:16:19 CET 2003
Jay Shaffstall <jshaffst at netwalk.com> wrote:
> I'm using call_out with a delay to trigger events in my mud that need to
> happen at specific intervals. The call_out docs say, "If the delay is an
> integer, the function will be called after approximately the specified
> number of seconds".
DGD handles timing for integer-delay callouts using the POSIX time.
That means that a one-second callout started at time T will be executed
(the rest of the MUD allowing) when the time turns into T+1, measured
in POSIX seconds since 1970. So the actual delay can be between 0 and 1
seconds, and that's ignoring delays due to other callouts trying to
run at that same moment.
For callouts with a floating point delay, more care is taken that they
run precisely at the intended moment. A 1.0 delay callout started at
T + 0.23 will be executed at T + 1.23.
> How approximate is approximate? On my Windows PC, things seem to work as
> I'd expect. One of my builders is using a Linux laptop, and has seen the
> delays decrease until events are being fired continually (the actual value
> being passed in for the delay hasn't changed). However on his Linux PC, it
> seems to work fine.
This may legitimately (appear to) happen if each one second callout takes
.95 seconds to process. Perhaps the laptop is fairly old, and a lot
slower than the desktop machine? Otherwise, this may be a bug in DGD
which I would like to learn more about.
Regards,
Dworkin
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list