summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rts/posix/Itimer.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/rts/posix/Itimer.c b/rts/posix/Itimer.c
index c4944aa8a0..df95f21b92 100644
--- a/rts/posix/Itimer.c
+++ b/rts/posix/Itimer.c
@@ -233,8 +233,11 @@ lnat
getourtimeofday(void)
{
struct timeval tv;
+ nat interval;
+ interval = RtsFlags.MiscFlags.tickInterval;
+ if (interval == 0) { interval = 50; }
gettimeofday(&tv, (struct timezone *) NULL);
// cast to lnat because nat may be 64 bit when int is only 32 bit
- return ((lnat)tv.tv_sec * 1000 / RtsFlags.MiscFlags.tickInterval +
- (lnat)tv.tv_usec / (RtsFlags.MiscFlags.tickInterval * 1000));
+ return ((lnat)tv.tv_sec * 1000 / interval +
+ (lnat)tv.tv_usec / (interval * 1000));
}