stream: uv__drain() always needs to stop POLLOUT (#3675)
Regression caused by 1a91b51976 mistake.
Refs: https://github.com/libuv/libuv/pull/3648
Fixes: https://github.com/libuv/libuv/pull/3648/3671
This commit is contained in:
parent
c4d73c306b
commit
47e95602c4
@ -659,18 +659,18 @@ static void uv__drain(uv_stream_t* stream) {
|
||||
uv_shutdown_t* req;
|
||||
int err;
|
||||
|
||||
if (!(stream->flags & UV_HANDLE_SHUTTING))
|
||||
return;
|
||||
|
||||
assert(QUEUE_EMPTY(&stream->write_queue));
|
||||
req = stream->shutdown_req;
|
||||
assert(req);
|
||||
|
||||
if (!(stream->flags & UV_HANDLE_CLOSING)) {
|
||||
uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
|
||||
uv__stream_osx_interrupt_select(stream);
|
||||
}
|
||||
|
||||
if (!(stream->flags & UV_HANDLE_SHUTTING))
|
||||
return;
|
||||
|
||||
req = stream->shutdown_req;
|
||||
assert(req);
|
||||
|
||||
if ((stream->flags & UV_HANDLE_CLOSING) ||
|
||||
!(stream->flags & UV_HANDLE_SHUT)) {
|
||||
stream->shutdown_req = NULL;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user