The old code makes all timers interval timers, with the interval equal
to the initial delay, no matter how short the initial delay is (even
1µs). On some systems, this can cause so many signals to be delivered
that the code that resets the timer never gets to run.
The timer is theoretically one-shot; the interval part is only for
if we miss the signal due to a race condition. So we can use a fixed
small delay for the interval.
The old code makes all timers interval timers, with the interval equal to the initial delay, no matter how short the initial delay is (even 1µs). On some systems, this can cause so many signals to be delivered that the code that resets the timer never gets to run.
The timer is theoretically one-shot; the interval part is only for if we miss the signal due to a race condition. So we can use a fixed small delay for the interval.
Fixes #213