digitalmars.D.bugs - [Issue 16797] New: Zero clock resolution lead to division by zero
- via Digitalmars-d-bugs (33/33) Nov 26 2016 https://issues.dlang.org/show_bug.cgi?id=16797
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 puremagic.com Reporter: wikodes 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; --
Nov 26 2016