pike icon indicating copy to clipboard operation
pike copied to clipboard

Cancel all pending asynchronous socket I/O on Windows upon deinit().

Open lithdew opened this issue 5 years ago • 0 comments

On Windows, Socket.call() is responsible for driving the asynchronous execution of a socket I/O syscall.

What needs to be done is that prior to the execution of a syscall, an async frame should be queued to an atomic queue of frames stored in a Socket. Upon executing Socket.deinit(), all frames should be forcibly resumed with a flag that would cause error.OperationCancelled to be returned by Socket.call().

lithdew avatar Nov 18 '20 06:11 lithdew