>>> I found that, at least with debians 4.19 kernel, io_cancel can fail with >>> EINTR on signal delivery, which should be documented as per similar calls. >> >> Can you provide some more info on the circumstances where you observed >> this behavior please. > > Well, while developing the aio backend for libev, but the details are lost > to my meory by now. I do remember having looked at the kernel code at the > time to see why it would block, because I didn't expect it to. > > Also, what more detail than "signal delivery can cause EINTR" do you have > on your mind?
The thing is, I like to do at least some level of checking of any bug report. On occasion I've had people send me detailed, well-formed patches that document something that when I check it turns out to be completely wrong or a misunderstanding of the underlying details. I'm *not* saying that this is the case here. But, without some help, it's hard for me to verify anything. > This cause of EINTR seems pretty standard to me (signal > received while in interuptible wait - EINTR) - the only question to me > would be whether io_cancel does interruptible waits, which isn't clear > from the documentation, and would device whether it can result in EINTR or > not. And there you nailed the point. I want to get an angle to help me in determining whether io_cancel() does interruptible waits. (It seems to me plausible that it might do so--although I can't think of specific cases--but I want to be able to check this.) Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/