> But I found minor problem here. In some situation, BSD/OS sleep does
> not sleep two seconds (at least in my configuration) and it says
> op/sleep.t failure. If I ran the test suite again, it passed and show
> me 100% OK result.
I just read over t/op/sleep.t. Frankly, I'm suprised I haven't seen
it fail on HPUX also. On HPUX, SIGALRM is delivered only _on_ the
second. Thus, sleep(1) waits until the next even second, sleep(2)
waits until the next even second after that, etc.
The side effect of this is that sleep(1) causes a delay of 0-1 second,
sleep(2) causes a delay of 1-2 seconds, etc. This *should* cause
intermittant failure of the sleep test as currently written. I don't
have access to a BSD system, but something similar could be happening
there.
You could argue that this is a bug in the OS sleep(). However, it
means that a loop like...
while (foo()) {
bar();
sleep();
}
...will cycle once-per-second (as long as bar() executes in < 1
second) instead of cycling once-per-(second + bar()-delay). This
could be construed as a feature.
p5p-msgid:
199705151735.KAA01143@palrel1.hp.com