Re: SIGCONT misbehaviour in Linux

Andrea Arcangeli (andrea@suse.de)
Thu, 9 Dec 1999 01:32:34 +0100 (CET)


On 8 Dec 1999, Ulrich Drepper wrote:

>This is not what happens on other platforms. At least with my limited
>testing I found that if you do on Solaris
>
> sleep 10
> ^Z
> fg
>
>the process will continue to sleep.

That's not enough to tell what the kernel is doing, maybe they have a bit
smarter sleep(1) program. `sleep` can be changed to run nanosleep again if
it received -EINTR and `req` is not null. You only have to pass as `req`
the `rem` that you got back from the previous nanosleep call.

>> Should we make PTRACE_CONTINUE to force nanosleep to continue (unlike the
>> SIGCONT case?)?
>
>This is the least what has to happen.

Ok.

>> BTW, I am not sure if nanosleep is the only place that you may like
>> to change in this respect...
>
>No, it's not the only place (e.g., blocking read call). I think this
>is a general change. Whenever the continue happens throug
>PTRACE_CONTINUE no EINTR should be generated.

Ok.

Andrea

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/