Goswin von Brederlow wrote: > Package: coreutils > Version: 8.13-3.2 > Severity: normal > File: /usr/bin/timeout > > I'm trying to set the time during boot. Unfortunately ntpd hangs forever > if the timeserver is unavailable. So I added a timeout to it so the > system still continues to boot without the correct time. > > But I would like to log the error. Timeout is supposed to return 124 if the > time was exceeded. But if ntpd corrects the time by more than the timeout > then the return value is 124 despite the fact the real time passed was less. > > Wouldn't it be possible to detect this case and return the exit code of > ntpd instead of a false timeout error?
Thanks for the report. Did you experience an actual problem? When I try to trigger such misbehavior, timeout seems to work fine on a system (Fedora 17) with a working timer_settime function: $ timeout 2 date --set=$(LC_ALL=C date -d 10\ sec +@%s); echo $? 0 I.e., when timeout's child terminates, the clock says 10 seconds have elapsed, yet it exits 0, because the duration was less than 2 seconds. I'm using the timeout from coreutils-8.17, but nothing has changed in this area since before 8.13. I even rebuilt my timeout binary, simulating no timer_settime function so that it would take the alarm-using path. Same result.