aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/shell.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-11-10 19:01:53 -0500
committerJustin M. Keyes <justinkz@gmail.com>2014-11-10 19:01:53 -0500
commit3080672650b1a6583684edfdafef7e07c0c7cf56 (patch)
tree888527c926d8117c21d291311e34f271614cf66f /src/nvim/os/shell.c
parentb0cd397a43ae18942e12b1c76f838aac135b18cf (diff)
parent3e8ef31ada1f2ae0b0cd58bb25d5516d19eee82d (diff)
downloadrneovim-3080672650b1a6583684edfdafef7e07c0c7cf56.tar.gz
rneovim-3080672650b1a6583684edfdafef7e07c0c7cf56.tar.bz2
rneovim-3080672650b1a6583684edfdafef7e07c0c7cf56.zip
Merge pull request #1448 from tarruda/shell-systemlist-test-fixes
Fixes to shell.c, systemlist and functional tests
Diffstat (limited to 'src/nvim/os/shell.c')
-rw-r--r--src/nvim/os/shell.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c
index 7449ac637c..1b279f18f5 100644
--- a/src/nvim/os/shell.c
+++ b/src/nvim/os/shell.c
@@ -244,6 +244,9 @@ static int shell(const char *cmd,
job_stop(job);
return -1;
}
+ // close the input stream after everything is written
+ job_write_cb(job, shell_write_cb);
+ } else {
// close the input stream, let the process know that no more input is
// coming
job_close_in(job);
@@ -447,3 +450,9 @@ static void write_output(char *output, size_t remaining)
curbuf->b_no_eol_lnum = 0;
}
}
+
+static void shell_write_cb(WStream *wstream, void *data, int status)
+{
+ Job *job = data;
+ job_close_in(job);
+}