mirror of
https://github.com/vim/vim.git
synced 2025-10-18 07:54:29 -04:00
patch 7.4.1710
Problem: Not all output of an external command is read. Solution: Avoid timing out when the process has exited. (closes #681)
This commit is contained in:
@@ -4845,6 +4845,7 @@ mch_call_shell(
|
||||
break;
|
||||
|
||||
# if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)
|
||||
if (wait_pid == 0)
|
||||
{
|
||||
struct timeval now_tv;
|
||||
long msec;
|
||||
@@ -4864,10 +4865,15 @@ mch_call_shell(
|
||||
# endif
|
||||
}
|
||||
|
||||
/* If we already detected the child has finished break the
|
||||
* loop now. */
|
||||
/* If we already detected the child has finished, continue
|
||||
* reading output for a short while. Some text may be
|
||||
* buffered. */
|
||||
if (wait_pid == pid)
|
||||
{
|
||||
if (noread_cnt < 5)
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if the child still exists, before checking for
|
||||
|
@@ -748,6 +748,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1710,
|
||||
/**/
|
||||
1709,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user