b830b08324
Factors out implementation of calls to OS that was duplicated in both cancellable and non-cancellable operation objects into an 'impl' class that can be used by both. Also, fixed potential data race in some try_start() methods when trying to read the m_skipCompletionOnSuccess member of a socket after starting the I/O operation. Now ensure that this flag is read before starting the operation. Simplified logic for file_[read/write]_operation slightly by passing out-parameter to receive number of bytes read/written if operation completes synchronously. This avoids an extra call to GetOverlappedResult() to retrieve this information. |
||
---|---|---|
.. | ||
continuation.hpp | ||
lightweight_manual_reset_event.hpp | ||
unwrap_reference.hpp | ||
when_all_awaitable.hpp | ||
win32.hpp | ||
win32_overlapped_operation.hpp |