Mercurial > nand-ecoscentric
changeset 1099:9ab0a182923a
* src/common/clock.cxx (Cyg_Counter::tick): In unsorted list case:
moved saving of next node details to before re-insertion of alarms
with intervals. The call to add_alarm() can make enough of a
difference to the list to need to force a rescan.
| author | nickg |
|---|---|
| date | Thu, 10 Jul 2003 17:41:07 +0000 |
| parents | 21a4bd716ae0 |
| children | 353800bc5758 |
| files | packages/kernel/current/ChangeLog packages/kernel/current/src/common/clock.cxx |
| diffstat | 2 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,3 +1,10 @@ +2003-07-10 Nick Garnett <nickg@balti.calivar.com> + + * src/common/clock.cxx (Cyg_Counter::tick): In unsorted list case: + moved saving of next node details to before re-insertion of alarms + with intervals. The call to add_alarm() can make enough of a + difference to the list to need to force a rescan. + 2003-07-06 Bart Veer <bartv@ecoscentric.com> * include/test/stackmon.h (cyg_test_size_a_stack):
--- a/packages/kernel/current/src/common/clock.cxx +++ b/packages/kernel/current/src/common/clock.cxx @@ -235,6 +235,12 @@ void Cyg_Counter::tick( cyg_uint32 ticks alarm_list_ptr->remove(alarm); + // Save some details of the list state so we can + // detect if it has changed. + next_next = next->get_next(); + next_prev = next->get_prev(); + head = alarm_list_ptr->get_head(); + if( alarm->interval != 0 ) { // The alarm has a retrigger interval. @@ -245,12 +251,6 @@ void Cyg_Counter::tick( cyg_uint32 ticks } else alarm->enabled = false; - // Save some details of the list state so we can - // detect if it has changed. - next_next = next->get_next(); - next_prev = next->get_prev(); - head = alarm_list_ptr->get_head(); - CYG_INSTRUMENT_ALARM( CALL, this, alarm ); // Call alarm function
