Ariadne Conill
d83c8259e6
tighten fallback busyloop implementation
2021-09-19 13:05:12 -05:00
Ariadne Conill
2477e7266c
use process descriptors where available for readiness notification
2021-09-19 13:05:12 -05:00
Ariadne Conill
941d7c51d7
implement execution timeouts for executors
...
Previously, it was possible for an executor to hang forever. To mitigate
this, we now implement process execution timeouts for executors, by looping
with waitpid(..., WNOHANG) and sleeping.
This could be implemented more efficiently with process descriptors, see
pidfd_open(2), but that interface is Linux-specific and is only available
on Linux 5.3 or newer.
2021-09-19 13:05:12 -05:00
Ariadne Conill
5a0b53cd73
libifupdown: add interface being run for each executor
2020-09-09 15:50:16 -06:00
Ariadne Conill
4d64176ea3
execute: note the phase each executor is being invoked in
2020-08-26 02:06:36 -06:00
Ariadne Conill
21bcbe1017
execute: fix memory leak in lif_execute_fmt_with_result()
2020-07-28 13:53:21 -06:00
Ariadne Conill
fb5ff4eac2
lifecycle: add support for learning dependents from executors (ref #5 )
2020-07-28 13:46:25 -06:00
Ariadne Conill
3a75de9f8c
execute: add lif_execute_buf_with_result() to collect a result buffer
2020-07-28 13:01:15 -06:00
Ariadne Conill
559bf2d1a4
libifupdown: execute: fix behavior of lif_file_is_executable()
2020-07-25 02:49:44 -06:00
Ariadne Conill
96112d5dc9
libifupdown: execute: add lif_maybe_try_executor()
2020-07-25 02:17:27 -06:00
Ariadne Conill
eb8f1938dc
libifupdown: add utility function to determine if a path is executable
2020-07-25 01:58:20 -06:00
Ariadne Conill
4006b38ffa
execute: add lif_execute_opts structure
2020-07-23 08:22:26 -06:00
Ariadne Conill
a567d5d0f5
libifupdown: add lif_execute_fmt()
2020-07-23 06:12:56 -06:00