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