Bug 19280 – Remove unnecessary error checks in core.time.currSystemTick and currTime

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
All
OS
All
Creation time
2018-10-01T04:37:47Z
Last change time
2018-11-30T11:01:36Z
Assigned to
No Owner
Creator
Nathan S.
See also
https://issues.dlang.org/show_bug.cgi?id=19453

Comments

Comment #0 by n8sh.secondary — 2018-10-01T04:37:47Z
Microsoft Windows QueryPerformanceCounter doesn't fail on Windows XP or later. https://msdn.microsoft.com/en-us/library/windows/desktop/ms644904(v=vs.85).aspx Posix gettimeofday called with a valid timeval address and a null second parameter doesn't fail. http://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html Posix clock_gettime called with a valid clock_id and a valid timespec address is in principle allowed to fail if the number of seconds doesn't fit in time_t, so even though no known implementation does this it is probably best to retain the error check at this time. http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_getres.html
Comment #1 by n8sh.secondary — 2018-10-01T06:35:16Z
Comment #2 by github-bugzilla — 2018-10-01T08:14:13Z
Commits pushed to master at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/6e8b3793dbe7f30e46ee2ba243d1d221550fff8c Fix Issue 19280 - Remove unnecessary error checks in core.time.currSystemTick QueryPerformanceCounter doesn't fail on Windows XP or later. https://msdn.microsoft.com/en-us/library/windows/desktop/ms644904(v=vs.85).aspx gettimeofday called with a valid timeval address and a null second parameter doesn't fail. http://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html clock_gettime called with a valid clock_id and a valid timespec address is in principle allowed to fail if the number of seconds doesn't fit in time_t, so even though no known implementation does this it is probably best to retain the error check at this time. http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_getres.html https://github.com/dlang/druntime/commit/e807e29472fa5973c438f97cd5d4b390ef1a4a5c Merge pull request #2315 from n8sh/issue-19280 Fix Issue 19280 - Remove unnecessary error checks in core.time.currSystemTick merged-on-behalf-of: Petar Kirov <[email protected]>
Comment #3 by github-bugzilla — 2018-10-14T05:46:30Z
Commits pushed to master at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/8759cb6a19e692b7599a7da80fab2654af568558 Fix Issue 19280 - Remove unnecessary error checks in core.time, Part 2 clock_gettime called with a valid clock_id and a valid timespec address is in principle allowed to fail if the number of seconds doesn't fit in time_t. If time_t is long or ulong we don't need to check for this since the current time won't overflow before 292 billion years A.D. This PR also extends PR #2315's improments currSystemTick to also apply to currTime. https://github.com/dlang/druntime/commit/651931122f8c72945f43118bfb03f08a8982437f Merge pull request #2317 from n8sh/issue-19280-pt2 Fix Issue 19280 - Remove unnecessary error checks in core.time, Part 2 merged-on-behalf-of: Jonathan M Davis <[email protected]>