• Max Kellermann's avatar
    input/uring: safe cancellation · 85bab670
    Max Kellermann authored
    My concept with `class CancellableOperation` doesn't work properly,
    because the kernel may continue to write to the given buffer as soon
    as the read finishes.
    
    To fix this, this commit adds `class ReadOperation` which owns the
    buffer and the `struct iovec`.  Instances of this class persist until
    the read really finishes, even if the operation is canceled.
    85bab670
Name
Last commit
Last update
..
cache Loading commit data...
plugins Loading commit data...
AsyncInputStream.cxx Loading commit data...
AsyncInputStream.hxx Loading commit data...
BufferedInputStream.cxx Loading commit data...
BufferedInputStream.hxx Loading commit data...
BufferingInputStream.cxx Loading commit data...
BufferingInputStream.hxx Loading commit data...
CondHandler.hxx Loading commit data...
Error.cxx Loading commit data...
Error.hxx Loading commit data...
FailingInputStream.hxx Loading commit data...
Handler.hxx Loading commit data...
IcyInputStream.cxx Loading commit data...
IcyInputStream.hxx Loading commit data...
Init.cxx Loading commit data...
Init.hxx Loading commit data...
InputPlugin.cxx Loading commit data...
InputPlugin.hxx Loading commit data...
InputStream.cxx Loading commit data...
InputStream.hxx Loading commit data...
LocalOpen.cxx Loading commit data...
LocalOpen.hxx Loading commit data...
MaybeBufferedInputStream.cxx Loading commit data...
MaybeBufferedInputStream.hxx Loading commit data...
Offset.hxx Loading commit data...
Open.cxx Loading commit data...
ProxyInputStream.cxx Loading commit data...
ProxyInputStream.hxx Loading commit data...
Ptr.hxx Loading commit data...
Reader.cxx Loading commit data...
Reader.hxx Loading commit data...
Registry.cxx Loading commit data...
Registry.hxx Loading commit data...
RemoteTagScanner.hxx Loading commit data...
RewindInputStream.cxx Loading commit data...
RewindInputStream.hxx Loading commit data...
ScanTags.cxx Loading commit data...
ScanTags.hxx Loading commit data...
TextInputStream.cxx Loading commit data...
TextInputStream.hxx Loading commit data...
ThreadInputStream.cxx Loading commit data...
ThreadInputStream.hxx Loading commit data...
meson.build Loading commit data...