aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds2.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-11-26 21:17:35 +0100
committerGitHub <noreply@github.com>2017-11-26 21:17:35 +0100
commita043899ba255524b7421579b9bd6112801f09247 (patch)
treee4dc3cc54e327310ab661de5125ce37313670aa1 /src/nvim/ex_cmds2.c
parent207b7ca4bc16d52641eaa5244eef25a0dba91dbc (diff)
parentbab2f8200aea09ad32bbcb2e83404bbd4076a227 (diff)
downloadrneovim-a043899ba255524b7421579b9bd6112801f09247.tar.gz
rneovim-a043899ba255524b7421579b9bd6112801f09247.tar.bz2
rneovim-a043899ba255524b7421579b9bd6112801f09247.zip
Merge #7633 'Retry fgets on EINTR'
closes #7632
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r--src/nvim/ex_cmds2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index 9b8e463aee..ec4ce63e17 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -3199,8 +3199,14 @@ static char_u *get_one_sourceline(struct source_cookie *sp)
ga_grow(&ga, 120);
buf = (char_u *)ga.ga_data;
+retry:
+ errno = 0;
if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
sp->fp) == NULL) {
+ if (errno == EINTR) {
+ goto retry;
+ }
+
break;
}
len = ga.ga_len + (int)STRLEN(buf + ga.ga_len);