aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/wstream.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-09-12 14:01:35 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-09-12 14:01:35 -0300
commit6a8932aa588b8631e66255fb24e2776acdd46c8e (patch)
tree2f8b63891e478fdc40fc37cf03b029ebbb7f51a5 /src/nvim/os/wstream.c
parent042aca6eb4d0fe9e6ddf3bcfb96a39838b2633d1 (diff)
parent2a67b847aa2074f688fce9f96e060eeb5ba29435 (diff)
downloadrneovim-6a8932aa588b8631e66255fb24e2776acdd46c8e.tar.gz
rneovim-6a8932aa588b8631e66255fb24e2776acdd46c8e.tar.bz2
rneovim-6a8932aa588b8631e66255fb24e2776acdd46c8e.zip
Merge PR #1130 'Update to the experimental msgpack v5 branch'
Diffstat (limited to 'src/nvim/os/wstream.c')
-rw-r--r--src/nvim/os/wstream.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/nvim/os/wstream.c b/src/nvim/os/wstream.c
index 44463c7c88..00a53d1628 100644
--- a/src/nvim/os/wstream.c
+++ b/src/nvim/os/wstream.c
@@ -72,12 +72,12 @@ WStream * wstream_new(size_t maxmem)
/// @param wstream The `WStream` instance
void wstream_free(WStream *wstream) {
if (!wstream->pending_reqs) {
- handle_set_wstream((uv_handle_t *)wstream->stream, NULL);
if (wstream->free_handle) {
uv_close((uv_handle_t *)wstream->stream, close_cb);
+ } else {
+ handle_set_wstream((uv_handle_t *)wstream->stream, NULL);
+ free(wstream);
}
-
- free(wstream);
} else {
wstream->freed = true;
}
@@ -238,12 +238,7 @@ static void release_wbuffer(WBuffer *buffer)
static void close_cb(uv_handle_t *handle)
{
- WStream *wstream = handle_get_wstream(handle);
-
- if (wstream) {
- free(wstream);
- }
-
+ free(handle_get_wstream(handle));
free(handle->data);
free(handle);
}