diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-08-29 23:47:59 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-08-31 09:32:45 -0300 |
commit | 51438d8e142303456bf4ba52c4b9dde4df00aa3d (patch) | |
tree | 0902c6893d280b547915d733405dc3417e0142aa /src | |
parent | df64c0f932c8c9d4cfbec8b54aefb6c5cc7c359e (diff) | |
download | rneovim-51438d8e142303456bf4ba52c4b9dde4df00aa3d.tar.gz rneovim-51438d8e142303456bf4ba52c4b9dde4df00aa3d.tar.bz2 rneovim-51438d8e142303456bf4ba52c4b9dde4df00aa3d.zip |
channel: Remove code for automatically closing in channel_send_call
This was causing a segfault(reported in #1125) because channels are already
closed by `parse_msgpack` when the connection ends. Also fix the RPC stack
overflow error message
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/os/channel.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/nvim/os/channel.c b/src/nvim/os/channel.c index 39455df862..bad82bc272 100644 --- a/src/nvim/os/channel.c +++ b/src/nvim/os/channel.c @@ -194,8 +194,7 @@ bool channel_send_call(uint64_t id, char buf[256]; snprintf(buf, sizeof(buf), - "Channel %" PRIu64 " was closed due to a high stack depth " - "while processing a RPC call", + "Channel %" PRIu64 " crossed maximum stack depth", channel->id); *result = STRING_OBJ(cstr_to_string(buf)); msgpack_rpc_free_array(args); @@ -223,14 +222,6 @@ bool channel_send_call(uint64_t id, channel->enabled && // the channel is still enabled kv_size(channel->call_stack) >= size); // the call didn't return - if (!(kv_size(channel->call_stack) - || channel->enabled - || channel->rpc_call_level)) { - // Close the channel if it has been disabled and we have not been called - // by `parse_msgpack`(It would be unsafe to close the channel otherwise) - close_channel(channel); - } - *errored = frame.errored; *result = frame.result; |