[Linuxdcpp-team] [Bug 1909861] Re: FileReader is not thread safe on Linux

2021-01-03 Thread cologic
Apropos "So possibly the FileReader methods should rather be called readAsync (overlapped/AIO) and readUnbuffered (FILE_FLAG_NO_BUFFERING/O_DIRECT/F_NOCACHE). Is buffered reading even needed there? When would that work if the unbuffered read fails?": An unbuffered read might depend on buffer align

[Linuxdcpp-team] [Bug 1909861] Re: FileReader is not thread safe on Linux

2021-01-03 Thread cologic
It appears that pre-uring AIO is being supplanted by io_uring (https://unixism.net/2020/04/io-uring-by-example-part-1-introduction/ and https://www.scylladb.com/2020/05/05/how-io_uring-and-ebpf-will- revolutionize-programming-in-linux/). AIO has had persistent critiques since it was introduced (e.g

[Linuxdcpp-team] [Bug 1909861] Re: FileReader is not thread safe on Linux

2021-01-03 Thread maksis
FileReader::readDirect implementation with O_DIRECT/F_NOCACHE: https://github.com/airdcpp/airdcpp- windows/commit/eb1e075d5a69862c4f2255f9ea2f204bb70921ba However, I don't think that the main point of the low-level FileReader::readDirect implementation for Windows is skipping of the OS buffers (co