>>> 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/

Reply via email to