aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/msgpack_rpc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/msgpack_rpc')
-rw-r--r--src/nvim/msgpack_rpc/channel.c5
-rw-r--r--src/nvim/msgpack_rpc/helpers.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c
index acc21bbf7e..2336853609 100644
--- a/src/nvim/msgpack_rpc/channel.c
+++ b/src/nvim/msgpack_rpc/channel.c
@@ -751,6 +751,7 @@ const char *get_client_info(Channel *chan, const char *key)
return NULL;
}
+#ifdef EXITFREE
void rpc_free_all_mem(void)
{
cstr_t key;
@@ -758,4 +759,8 @@ void rpc_free_all_mem(void)
xfree((void *)key);
});
set_destroy(cstr_t, &event_strings);
+
+ msgpack_sbuffer_destroy(&out_buffer);
+ multiqueue_free(ch_before_blocking_events);
}
+#endif
diff --git a/src/nvim/msgpack_rpc/helpers.c b/src/nvim/msgpack_rpc/helpers.c
index d2be321e7a..3162269df6 100644
--- a/src/nvim/msgpack_rpc/helpers.c
+++ b/src/nvim/msgpack_rpc/helpers.c
@@ -27,6 +27,14 @@ void msgpack_rpc_helpers_init(void)
msgpack_sbuffer_init(&sbuffer);
}
+#ifdef EXITFREE
+void msgpack_rpc_helpers_free_all_mem(void)
+{
+ msgpack_zone_destroy(&zone);
+ msgpack_sbuffer_destroy(&sbuffer);
+}
+#endif
+
typedef struct {
const msgpack_object *mobj;
Object *aobj;