aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/os/job.c8
-rw-r--r--src/nvim/os/shell.c3
2 files changed, 6 insertions, 5 deletions
diff --git a/src/nvim/os/job.c b/src/nvim/os/job.c
index c18a83e817..4c01829159 100644
--- a/src/nvim/os/job.c
+++ b/src/nvim/os/job.c
@@ -97,7 +97,7 @@ void job_teardown(void)
// their status with `wait` or handling SIGCHLD. libuv does that
// automatically (and then calls `exit_cb`) but we have to give it a chance
// by running the loop one more time
- uv_run(uv_default_loop(), UV_RUN_NOWAIT);
+ event_poll(0);
// Prepare to start shooting
for (i = 0; i < MAX_RUNNING_JOBS; i++) {
@@ -107,8 +107,8 @@ void job_teardown(void)
while (job && is_alive(job) && remaining_tries--) {
os_delay(50, 0);
// Acknowledge child exits
- uv_run(uv_default_loop(), UV_RUN_NOWAIT);
- // It's possible that the uv_run call removed the job from the table,
+ event_poll(0);
+ // It's possible that the event_poll call removed the job from the table,
// reset 'job' so the next iteration won't run in that case.
job = table[i];
}
@@ -118,7 +118,7 @@ void job_teardown(void)
}
}
// Last run to ensure all children were removed
- uv_run(uv_default_loop(), UV_RUN_NOWAIT);
+ event_poll(0);
}
/// Tries to start a new job.
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c
index a127597e52..d5464f7975 100644
--- a/src/nvim/os/shell.c
+++ b/src/nvim/os/shell.c
@@ -8,6 +8,7 @@
#include "nvim/ascii.h"
#include "nvim/lib/kvec.h"
#include "nvim/log.h"
+#include "nvim/os/event.h"
#include "nvim/os/job.h"
#include "nvim/os/rstream.h"
#include "nvim/os/shell.h"
@@ -213,7 +214,7 @@ int os_call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg)
// Keep running the loop until all three handles are completely closed
while (pdata.exited < expected_exits) {
- uv_run(uv_default_loop(), UV_RUN_ONCE);
+ event_poll(0);
if (got_int) {
// Forward SIGINT to the shell