diff options
Diffstat (limited to 'deps/uv/src/win/pipe.c')
-rw-r--r-- | deps/uv/src/win/pipe.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c index 0ecfbf1f0e..83ee4f99ca 100644 --- a/deps/uv/src/win/pipe.c +++ b/deps/uv/src/win/pipe.c @@ -735,6 +735,13 @@ void uv__pipe_unpause_read(uv_pipe_t* handle) { void uv__pipe_stop_read(uv_pipe_t* handle) { + if (pCancelIoEx && + !(handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) && + !(handle->flags & UV_HANDLE_EMULATE_IOCP) && + handle->flags & UV_HANDLE_READING && + handle->read_req.type == UV_READ) { + pCancelIoEx(handle->handle, &handle->read_req.u.io.overlapped); + } handle->flags &= ~UV_HANDLE_READING; uv__pipe_pause_read((uv_pipe_t*)handle); uv__pipe_unpause_read((uv_pipe_t*)handle); |