Your message dated Wed, 2 Jul 2008 23:28:32 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Fixed upstream
has caused the Debian Bug report #472070,
regarding usplash: Bad interaction between timers and sleeping
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
472070: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472070
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: usplash
Version: 0.5.8-3
Severity: important
The main() function of usplash.c sets up an interval timer with an
interval of 40000 microseconds:
struct timeval t1 = {.tv_sec = 0,.tv_usec = 40000 };
struct timeval t2 = {.tv_sec = 0,.tv_usec = 40000 };
struct itimerval iv = {.it_interval = t1,.it_value = t2 };
...
setitimer(ITIMER_REAL, &iv, NULL);
The handle_input() function of libusplash.c uses a sleep(1) if the
output pipe cannot be opened yet and loops timeout number of times.
Since the sleep call is interrupted by the delivery of the SIGALRM
signal from the interval timer, handle_input() ends up waiting at most
40.000 * timeout _microseconds_ rather than timeout _seconds_.
Wrapping the sleep() call in blocksig() and unblocksig() might be one
solution.
--
David Härdeman
--- End Message ---
--- Begin Message ---
Version: 0.5.19-1
This seems to have been fixed upstream...
--
David Härdeman
--- End Message ---