patch 8.2.4699: hard to reproduce hang when reading from a channel

Problem:    Hard to reproduce hang when reading from a channel.
Solution:   Check for readahead before starting to wait. (closes #10093,
            closes #7781, closes #6364)
This commit is contained in:
LemonBoy
2022-04-05 22:03:30 +01:00
committed by Bram Moolenaar
parent aa7d0c2335
commit 75a0f3c011
2 changed files with 7 additions and 0 deletions

View File

@ -3997,6 +3997,11 @@ channel_read_json_block(
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;

View File

@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4699,
/**/
4698,
/**/