Effect of os clock change on timers

1 view (last 30 days)
cr
cr on 14 Dec 2022
Edited: cr on 22 Apr 2023
I see that on Windows 7 and Matlab 2017a, timer execution can be thrown astray if OS clock jumps back. E.g., if timer callback was to execute at 09:00 and I set OS clock back by 5mins while timer is running, the callback will now execute at 0905 actual time (which is 0900 pc time). However if I advance the clock by 5min, the callback timing is unaffected and correctly triggers at 0900 actual time (which is 8:55pc time). On MacOS with 2022b timing is unaffected by os clock changes in either directions.
Questions:
  1. Why is the behaviour different across platforms? Would be interesting to know how is it on Linux.
  2. Why is the behaviour not symmetric across clock jump forwards and backwards on Windows? How do timers work in general?
  3. How does one ensure external factors affecting OS clock (e.g. daylight savings shifts, windows updates whacking locale settings, etc) don't affect callback schedule on windows systems?
Thanks.

Accepted Answer

Peter Perkins
Peter Perkins on 15 Dec 2022
cr, this was a bug in earlier releases, and got fixed in R2021a.
  1 Comment
cr
cr on 18 Dec 2022
Edited: cr on 22 Apr 2023
Oh, I see. Do you mean to say clock changes in 21a and later versions dont affect clocks?
Thanks.

Sign in to comment.

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!