Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1897: Change how IOManager is handling exceptions r=dcoutts a=coot With this patch `withIOManager` will rethrown the exception thrown when `LPOVERLAPPED` was null. This wasn't the case previously which was a mistake. I also documented better (an experiment a bit more) with one particular case: why we are not throwing exceptions when the `LPOVERLAPPED` is `NULL` and `GetQueuedIoCompletionStatus` errored with `ERROR_INVALID_HANDLE`. I can reproduce this scenario when we close the iocp's `HANDLE`, but only in some circumstances e.g. running the same test twice or more. The first time `dequeueCompletionPackets` exists cleanly (i.e. `GetQueuedIoCompletionStatus` errors with `ERROR_ABANDONDED_WAIT_0`) and the next one errors with `ERROR_INVALID_HANDLE`). This behaviour is not documented in `MSDN`. Also label the `IOManager` thread, which is useful for profiling with the eventlog. - withIOManager use IOException - Removed withMaxSuccess from tests - Label the IOManager thread Co-authored-by: Marcin Szamotulski <[email protected]>
- Loading branch information