Quote:
Originally Posted by
jim mcnamara
Are you blocking SIGALRM? sleep usually works by setting a timer, then sending a SIGALRM signal to the calling process.
That's normally no longer true.
And in this case, its pretty likely that sleep() has been implemented with a version of nanoslee().
It would be nice to see what the actual source code is, though.
If you look, it appears as if the file "sleep.c" calls __nanosleep_nocancel() directly. That could be something in the way libc actually links in nanosleep(), but maybe not? And if what's supposed to be an internal call is being used incorrectly, maybe the sleep time is a very large 64-bit integer - and the call does have "nocancel" appended to it....