Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Before this patch, calculation for periodic events occured after the event was dispatched, but didn't account for the overhead of the callback itself. Now calculation of the new target is based only on the previous target, ignoring drift introduced by the callback. This may lead never sleeping if the callback takes longer than its period, but the fairness of the scheduler should avoid problems this may cause. Additionally, equeue_enqueue was restructured to avoid calling equeue_tick redundantly (a system call in some implementations).
- Loading branch information