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
b514d31c26
ifupdown: implement --force
2020-09-08 19:17:00 -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
0ca8e42ee6
refactoring locking, make it per-interface to avoid deadlocks
2020-07-29 03:10:55 -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
9e4e17707f
lifecycle: expose INTERFACES_FILE env var to executors
2020-07-26 02:50:01 -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