diff options
author | Charlie Groves <charlie.groves@gmail.com> | 2022-03-01 15:58:42 -0500 |
---|---|---|
committer | Charlie Groves <charlie.groves@gmail.com> | 2022-03-01 16:13:23 -0500 |
commit | 045422e4a081e9dedff014346cc32eaef45e04e1 (patch) | |
tree | ab79a7f541fe4aeab57dd0b882feafab70626703 /src/nvim/api/vim.c | |
parent | ed1a9c310df178e1163c910f70b194a657ad055a (diff) | |
download | rneovim-045422e4a081e9dedff014346cc32eaef45e04e1.tar.gz rneovim-045422e4a081e9dedff014346cc32eaef45e04e1.tar.bz2 rneovim-045422e4a081e9dedff014346cc32eaef45e04e1.zip |
fix: respect os_proc_children rv of pid not found
os_proc_children returns 2 if there's a failure in the underlying
syscall. Only shell out to pgrep in that case.
It returns 1 if the pid isn't found. In that case, we can roll forward
with returning an empty list.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 9d0b096a36..c37df45c14 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -1991,7 +1991,7 @@ Array nvim_get_proc_children(Integer pid, Error *err) size_t proc_count; int rv = os_proc_children((int)pid, &proc_list, &proc_count); - if (rv != 0) { + if (rv == 2) { // syscall failed (possibly because of kernel options), try shelling out. DLOG("fallback to vim._os_proc_children()"); Array a = ARRAY_DICT_INIT; |