Patch 8.2.4699
Problem: Hard to reproduce hang when reading from a channel.
Solution: Check for readahead before starting to wait. (closes #10093,
closes #7781, closes #6364)
Files: src/channel.c
*** ../vim-8.2.4698/src/channel.c 2022-04-04 15:46:37.602126829 +0100
--- src/channel.c 2022-04-05 22:00:03.822488637 +0100
***************
*** 3997,4002 ****
--- 3997,4007 ----
if (channel_parse_messages())
continue;
+ // channel_parse_messages() may fill the queue with new data to
+ // process.
+ if (channel_has_readahead(channel, part))
+ continue;
+
// Wait for up to the timeout. If there was an incomplete message
// use the deadline for that.
timeout = timeout_arg;
*** ../vim-8.2.4698/src/version.c 2022-04-05 21:40:32.111458253 +0100
--- src/version.c 2022-04-05 21:58:35.986308745 +0100
***************
*** 748,749 ****
--- 748,751 ----
{ /* Add new patch number below this line */
+ /**/
+ 4699,
/**/
--
Zen Microsystems: we're the om in .commmmmmmmm
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///