mikaelpatel/Cosa — pull request #277 by SlashDevin (2014-12-08 18:41:01+00:00)
Title: Fix hang in Watchdog

Interrupt processing after `unlock` may allow `s_ticks` to advance twice, causing the loop test to miss when `s_ticks == stop`. Instead, use signed comparison of remaining ticks. At least,that's what is happening. Test code has isolated the hang to inside `Watchdog::await`, but without a JTAG I cannot narrow it down any further. This fix *appears* to eliminate the hang.

This fix retains the behavior of always yielding at least once.