in reply to Why is SIGCHLD affecting sleep?

And to answer myself (or post an answer i got from someone else, anyway):

"Any signal you don't discard will wake up sleep"

Which follows what I was seeing, it also explains why other code i've tried would work (or seem to, for the most part). Like:

for(1..15) {sleep(1)}

because every time an individual sleep would be interrupted it would just iterate through and try again.

If there is another explanation, let me know, but this correlates with everything i've seen and definitely gives me a way to move forward.

Replies are listed 'Best First'.
Re^2: Why is SIGCHLD affecting sleep?
by Codon (Friar) on Aug 10, 2007 at 17:14 UTC
    This is fine if you just need it to sleep for around 15 seconds. If you need it to sleep for "exactly" 15 seconds, you will probably want to use Time::HiRes and usleep, and do the elapsed time tracking yourself so you can be sure to get all the sleep you need.

    Remember, sleep does not sleep for the exact duration you tell it. It only sleeps for that many wall clock ticks and that could include a fraction of a whole second. Sleep for 1 fractional second 15 times and you could get much less sleep than you need.

    Ivan Heffner
    Sr. Software Engineer
    WhitePages.com, Inc.