Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
17023:fd131767cde7 | 17024:727f8cc87a45 |
---|---|
1678 job_io_T ch_io; | 1678 job_io_T ch_io; |
1679 int ch_timeout; /* request timeout in msec */ | 1679 int ch_timeout; /* request timeout in msec */ |
1680 | 1680 |
1681 readq_T ch_head; /* header for circular raw read queue */ | 1681 readq_T ch_head; /* header for circular raw read queue */ |
1682 jsonq_T ch_json_head; /* header for circular json read queue */ | 1682 jsonq_T ch_json_head; /* header for circular json read queue */ |
1683 int ch_block_id; /* ID that channel_read_json_block() is | 1683 garray_T ch_block_ids; /* list of IDs that channel_read_json_block() |
1684 waiting for */ | 1684 is waiting for */ |
1685 /* When ch_wait_len is non-zero use ch_deadline to wait for incomplete | 1685 /* When ch_wait_len is non-zero use ch_deadline to wait for incomplete |
1686 * message to be complete. The value is the length of the incomplete | 1686 * message to be complete. The value is the length of the incomplete |
1687 * message when the deadline was set. If it gets longer (something was | 1687 * message when the deadline was set. If it gets longer (something was |
1688 * received) the deadline is reset. */ | 1688 * received) the deadline is reset. */ |
1689 size_t ch_wait_len; | 1689 size_t ch_wait_len; |