Diff comments:
> diff --git a/modules/libcom/src/osi/os/WIN32/osdMonotonic.c b/modules/libcom/src/osi/os/WIN32/osdMonotonic.c
> index cb84643..208c1aa 100644
> --- a/modules/libcom/src/osi/os/WIN32/osdMonotonic.c
> +++ b/modules/libcom/src/osi/os/WIN32/osdMonotonic.c
> @@ -39,15 +42,10 @@ epicsUInt64 epicsMonotonicResolution(void)
> epicsUInt64 epicsMonotonicGet(void)
> {
> LARGE_INTEGER val;
> - if(osdUsePrefCounter) {
> - if(!QueryPerformanceCounter(&val)) {
> - errMessage(errlogMinor, "Warning: failed to fetch performance counter\n");
> - return 0;
> - } else
> - return val.QuadPart;
> + if(!QueryPerformanceCounter(&val)) {
> + cantProceed("epicsMonotonicGet: Failed to read Windows Performance Counter\n");
> + return 0;
> } else {
> - epicsUInt64 ret = GetTickCount();
> - ret *= 1000000;
> - return ret;
> + return (epicsUInt64)(val.QuadPart * perfCounterScale + 0.5); /* return value in nanoseconds */
Thinking more about the precision, the issue is that we could end up subtracting two large numbers returned from epicsMonotonicGet() as we are forcing the return value into nanoseconds. Could we change the monotonic interface to be more like the current epics time one so refer to an epicsMonotonic system dependent type (which on windows would contain the val.QuadPart LARGE_INTEGER as is) and then use an epicsMonotonicDiffInSeconds() type command to compute required deltas
> }
> }
--
https://code.launchpad.net/~freddie-akeroyd/epics-base/+git/epics-base/+merge/391018
Your team EPICS Core Developers is subscribed to branch epics-base:7.0.
- References:
- [Merge] ~freddie-akeroyd/epics-base:fix_win32_monotonic_time into epics-base:7.0 Freddie Akeroyd via Core-talk
- Navigate by Date:
- Prev:
Re: [Merge] ~freddie-akeroyd/epics-base:fix_win32_monotonic_time into epics-base:7.0 mdavidsaver via Core-talk
- Next:
Re: [Merge] ~freddie-akeroyd/epics-base:fix_win32_monotonic_time into epics-base:7.0 Freddie Akeroyd via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: [Merge] ~freddie-akeroyd/epics-base:fix_win32_monotonic_time into epics-base:7.0 mdavidsaver via Core-talk
- Next:
Re: [Merge] ~freddie-akeroyd/epics-base:fix_win32_monotonic_time into epics-base:7.0 Freddie Akeroyd via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
|