diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-08-13 11:53:19 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-08-13 11:53:19 -0300 |
commit | f1de097dbb236ea400150f80b909407ca9af7441 (patch) | |
tree | 2d69f4f3a06f0ac5a4e936ec40bde81a26cf2b53 /src/nvim/os/shell.c | |
parent | a816c726bbae4361a30c95b1226aaaa1dc76fd24 (diff) | |
download | rneovim-f1de097dbb236ea400150f80b909407ca9af7441.tar.gz rneovim-f1de097dbb236ea400150f80b909407ca9af7441.tar.bz2 rneovim-f1de097dbb236ea400150f80b909407ca9af7441.zip |
eval: Fix jobwait() to process multiple jobs concurrently
The new event processing architecture changed `jobwait()` semantics: Only one
job is processed at time since process_wait only focuses on one queue.
This fixes the problem with a few changes:
- Allow the event queue polled by `process_wait` to be overriden by a new
argument.
- Allow the parent queue to be overriden with `queue_replace_parent`
- Create a temporary queue that serves as the parent for all jobs passed to
`jobwait()`
Diffstat (limited to 'src/nvim/os/shell.c')
-rw-r--r-- | src/nvim/os/shell.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c index 77750bb077..2d97c4bf4f 100644 --- a/src/nvim/os/shell.c +++ b/src/nvim/os/shell.c @@ -257,7 +257,7 @@ static int do_os_system(char **argv, // the UI ui_busy_start(); ui_flush(); - int status = process_wait(proc, -1); + int status = process_wait(proc, -1, NULL); ui_busy_stop(); // prepare the out parameters if requested |