[bug?] Timer alarms overrun each other under some conditions
I'm not even sure anymore what the default behaviour should be, should the 2nd timer alarm start when even when 1st is still alarming or should it start after the 1st is dismissed. I was assuming the latter should always happen. I've done some testing but yet to find any fully certain pattern here but here's some results:
- If the 2nd alarm's timer's start time is greater than the 1st, the 2nd alarm will overrun.
- The other way around the 1st alarm won't be overrun.
- If there's active timer(s) running when the 2nd alarm reaches zero it will always overrun the 1st alarm ( and if there's more than 3 timers, 3rd will overrun the 2nd, etc.).
- I'm not completely sure about the last timer's alarm but so far it would seem that it follows same logic as the with first case. If the last alarm's timer's start time is greater than the very 1st alarm's timer's start time it will also overrun the previous alarm and the other way around it won't.
In any case, there's fishy stuff going on. Though in practice it probably won't cause too many problems but still it's sort of odd behaviour. I just happened to notice all this when I was creating a timer related patch which became a lot harder to create when I noticed that the alarms don't just kindly stay in the waiting line when one is alarming.