diff options
Diffstat (limited to 'src/nvim/event/stream.c')
-rw-r--r-- | src/nvim/event/stream.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/nvim/event/stream.c b/src/nvim/event/stream.c index bc1b503f4c..d9c44e06be 100644 --- a/src/nvim/event/stream.c +++ b/src/nvim/event/stream.c @@ -94,14 +94,17 @@ void stream_init(Loop *loop, Stream *stream, int fd, uv_stream_t *uvstream) stream->events = NULL; } -void stream_close(Stream *stream, stream_close_cb on_stream_close, void *data, bool rstream) +void stream_may_close(Stream *stream, bool rstream) FUNC_ATTR_NONNULL_ARG(1) { + if (stream->closed) { + return; + } assert(!stream->closed); DLOG("closing Stream: %p", (void *)stream); stream->closed = true; - stream->close_cb = on_stream_close; - stream->close_cb_data = data; + stream->close_cb = NULL; + stream->close_cb_data = NULL; #ifdef MSWIN if (UV_TTY == uv_guess_handle(stream->fd)) { @@ -115,13 +118,6 @@ void stream_close(Stream *stream, stream_close_cb on_stream_close, void *data, b } } -void stream_may_close(Stream *stream, bool rstream) -{ - if (!stream->closed) { - stream_close(stream, NULL, NULL, rstream); - } -} - void stream_close_handle(Stream *stream, bool rstream) FUNC_ATTR_NONNULL_ALL { |