[Issue 16797] New: Zero clock resolution lead to division by zero
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sat Nov 26 12:01:24 PST 2016
https://issues.dlang.org/show_bug.cgi?id=16797
Issue ID: 16797
Summary: Zero clock resolution lead to division by zero
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: druntime
Assignee: nobody at puremagic.com
Reporter: wikodes at gmail.com
Some linux systems (eg. CentOS 6.4/7) return a clock result of zero.
Data gathered with:
#include <time.h>
#include <stdio.h>
int main() {
struct timespec ts;
int res;
int i;
for (i = 0; i < 10; ++i) {
res = clock_getres(i, &ts);
printf("i %d tv_sec %ld tv_nsec %ld\n", i, ts.tv_sec, ts.tv_nsec);
}
}
output:
...
i 4 tv_sec 0 tv_nsec 0
This lead to a division by zero in druntime/src/core/time.d:_d_initMonoTime
... (around line 2450)
tps[i] = ts.tv_nsec >= 1000 ? 1_000_000_000L : 1_000_000_000L / ts.tv_nsec;
--
More information about the Digitalmars-d-bugs
mailing list