Joey Hess wrote: > Package: cdebconf > Version: 0.119 > Severity: normal > > See #436340. clock-setup started a progress bar, set the time back by N > seconds, stepped the progress bar by one, and it hung for N seconds. > > It seems that this is because newt_progress_set uses a timer to make > newtFormRun return 1 millisecond after updating the form. But I guess > that newt's code code doesn't detect clock skew, and hangs until 1 > millisecond after the timer was initially set up. > > Is this a bug in newt or in cdebconf?
I think it's newt, see the comment I just mailed to 436340. newt/form.c:newtFormRun() computes the select() parameter so that the absolute time of the new timeout is equal to the absolute time of the previous timeout, plus form->timer. This breaks when the clock jumps around. It could instead ensure that the length of the timeout is never more than form->timer, or just notice and handle the case where the gettimeofday(&now,0) call returns a time earlier than lastTimeout. -jim -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]