Alarm fixes
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 13 May 2011 22:07:33 +0000 (15:07 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:02 +0000 (17:36 -0700)
commit2ca91e575e207b6a86228a672df26dfc803e8151
treed6878a406239a92b64c22f81d65c6a8dab110e00
parent8fcb2b2a77718e0633c1eac3816030751b1d68a3
Alarm fixes

Three things:
1) previous versions screwed up if you tried to set an alarm with the
same time as the last item (it can happen legitimately too!).
2) cleaned up set_alarm(), so it's much clearer how it works and handles
the possible cases.  No longer tries to infer the state of the TAILQ by
looking at the start/end times, which was confusing.
3) adds a bunch of assertions to catch weird or uninitialized values.

Note the TSC takes over 200 years to loop (or my basic arithmetic is
off).
kern/include/alarm.h
kern/src/alarm.c