According to some signal-processing laws you could set the timer to 500ms to have a properly working 1000ms clock. Of course this wouldn't help in situations when intermediate processing takes longer than 500ms or when the system clock is changed by outside source (suspension, ntp, daylight saving, manual user intervention). I think my solution is more foul-proof.