Mercurial > vim
diff src/structs.h @ 17024:727f8cc87a45 v8.1.1512
patch 8.1.1512: ch_evalexpr() hangs when used recursively
commit https://github.com/vim/vim/commit/38ea784fecf7921dca83ddc75fe9cb40708521b2
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 9 19:51:58 2019 +0200
patch 8.1.1512: ch_evalexpr() hangs when used recursively
Problem: ch_evalexpr() hangs when used recursively. (Paul Jolly)
Solution: Change ch_block_id from a single number to a list of IDs to wait
on.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 09 Jun 2019 20:00:06 +0200 |
parents | 959ea232e50d |
children | 5ed4965ebc7b |
line wrap: on
line diff
--- a/src/structs.h +++ b/src/structs.h @@ -1680,8 +1680,8 @@ typedef struct { readq_T ch_head; /* header for circular raw read queue */ jsonq_T ch_json_head; /* header for circular json read queue */ - int ch_block_id; /* ID that channel_read_json_block() is - waiting for */ + garray_T ch_block_ids; /* list of IDs that channel_read_json_block() + is waiting for */ /* When ch_wait_len is non-zero use ch_deadline to wait for incomplete * message to be complete. The value is the length of the incomplete * message when the deadline was set. If it gets longer (something was