On 12/15/15 6:39 PM, Andrew Johnson wrote:
> On 12/15/2015 05:19 PM, Michael Davidsaver wrote:
>> I would point out that allowing jumps backwards will allow timers to
>> expire early as the timer queue uses general time.
>
> The epicsEventWaitWithTimeout() and epicsThreadSleep() APIs are both
> safe since they're implemented using tick counts on the two RTOS's,
> but you're talking about Jeff's epicsTimer implementations, which I
> now see do absolute time comparisons to determine when a timer should
> go off.
Hi, Andrew!
So those two APIs are safe on the two RTOSes (vxWorks and RTEMS, I
assume), but not on others, right? Obviously, there are *lots* of soft
IOCs out there, so this issue would apply to all of those.
> I'm not sure how big a problem this is in practice.
To me, a timer or similar API that expires early is a bug (unless
documented to allow for early expiration, but that might make the API
difficult to use or worthless) and can lead to all kinds of problematic
behavior. I would love for all timers to work correctly on all
platforms. I'm not closely following the core development, but perhaps
you could implement a monotonic time source and use it for soft IOC
timer implementations.
Regards,
Lewis
- Replies:
- Re: Problem with generalTime clock synchronization Andrew Johnson
- References:
- Problem with generalTime clock synchronization Andrew Johnson
- Re: Problem with generalTime clock synchronization Michael Davidsaver
- Re: Problem with generalTime clock synchronization Andrew Johnson
- Navigate by Date:
- Prev:
Re: Problem with generalTime clock synchronization Andrew Johnson
- Next:
Re: Problem with generalTime clock synchronization Andrew Johnson
- 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: Problem with generalTime clock synchronization Andrew Johnson
- Next:
Re: Problem with generalTime clock synchronization Andrew Johnson
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|