To: vim_dev@googlegroups.com Subject: Patch 8.2.4699 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@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 ///