changelog
- Sun, 04 Feb 2018 02:19:26 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 02:19:26 +0000] rev 103
- Missing notify in scheduler sleep/wake callback
- Sun, 04 Feb 2018 01:36:59 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 01:36:59 +0000] rev 102
- Changed scheduler busylooping method, and decreased precision to 5 minutes:
if there are finite-horizon events in the queue, the scheduler thread will never
sleep longer than that. This is to quickly get back on track with the schedule
when the computer wakes up from sleep, if the sleep monitor is not working or
is not implemented for the particular operating system. However, if there are
only infinite-horizon events in the queue (meaning, DreamTime-scheduled events,
and the system is sleeping or "sleeping"), the scheduler will also sleep.
Hopefully this will also help the system stay properly asleep.
- Sun, 04 Feb 2018 01:27:38 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 01:27:38 +0000] rev 101
- Part 2 of handling macOS sleep/wake signal brokenness.
a) Added Time.horizon(), which indicates how far the Time event is from the
epoch, in monotonic time. For DreamTime, if the system is sleeping, this
returns ∞. b) The DreamTime monitor also signals sleep to callbacks, so
that the Scheduler can re-sort the events. The sorting is now done by
the horizon, so DreamTime events will be moved last and not activated when
the system is sleeping or "sleeping", but other events will be executed
normally if the system is merely "sleeping".