ifupdown-ng/libifupdown
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
..
compat.c Fix delcaration/prototype for lif_compat_apply() 2021-09-12 18:10:51 +02:00
compat.h Fix delcaration/prototype for lif_compat_apply() 2021-09-12 18:10:51 +02:00
config-file.c config-file: add support for auto_executor_selection setting 2020-11-04 11:16:47 -07:00
config-file.h config-file: add support for auto_executor_selection setting 2020-11-04 11:16:47 -07:00
config-parser.c config parser: explicitly skip over comments 2020-09-15 05:48:54 -06:00
config-parser.h libifupdown: add abstract config parser implementation 2020-09-14 17:11:59 -06:00
dict.c dict: lif_dict_find() + lif_dict_find_all() do not touch the dict, so mark it const. 2020-10-14 01:39:31 +02:00
dict.h dict: lif_dict_find() + lif_dict_find_all() do not touch the dict, so mark it const. 2020-10-14 01:39:31 +02:00
environment.c environment: fix up memory accesses when building envp 2020-07-23 09:43:09 -06:00
environment.h libifupdown: add environment management routines 2020-07-23 05:30:25 -06:00
execute.c implement execution timeouts for executors 2021-09-19 13:05:12 -05:00
execute.h implement execution timeouts for executors 2021-09-19 13:05:12 -05:00
fgetline.c add fgetline(3) implementation 2020-07-18 18:13:54 -06:00
fgetline.h add fgetline(3) implementation 2020-07-18 18:13:54 -06:00
interface-file.c interface-file: adjust the special handling for hostname properties to use dhcp-hostname 2021-04-07 09:30:56 -06:00
interface-file.h interface-file: break loops using lif_interface_file_parse_state.loaded dictionary 2020-10-14 04:07:14 -06:00
interface.c interface: automatic dhcp-hostname determination: use dhcp-hostname instead of legacy hostname property 2021-04-07 09:30:21 -06:00
interface.h interface: add lif_interface_finalize() which rewrites addresses as CIDR when an interface stanza ends 2020-12-02 11:38:39 -07:00
libifupdown.h Introduce an compatibility layer which is empty for now. 2020-10-18 03:26:40 +02:00
lifecycle.c implement execution timeouts for executors 2021-09-19 13:05:12 -05:00
lifecycle.h lifecycle: return the maximum tree depth for the dependency tree when counting depth 2020-09-09 18:12:13 -06:00
list.c list: refactor lif_list_free_nodes() a bit 2020-07-28 17:53:48 -04:00
list.h list: fix LIF_LIST_FOREACH_SAFE() iteration on empty lists 2020-11-11 02:18:04 -07:00
state.c state: explicitly check for explicit keyword when loading from the ifstate file 2020-10-21 09:13:34 -06:00
state.h state: add lif_state_record::is_explicit 2020-10-21 08:15:52 -06:00
tokenize.h tokenizer: split out equals-as-delimiter tokenizer to its own function 2020-09-14 17:34:44 -06:00
version.c version: use printf() with a static string, compiler changes this into puts() automatically, saves additional 20 bytes 2020-12-04 00:31:53 -07:00
version.h add ifquery --version 2020-07-18 19:09:08 -06:00
yaml-base.c YAML: add support for booleans 2020-11-11 03:11:48 -07:00
yaml-base.h YAML: add support for booleans 2020-11-11 03:11:48 -07:00
yaml-writer.c yaml-writer: constify 2020-11-13 21:35:12 -07:00
yaml-writer.h yaml-writer: constify 2020-11-13 21:35:12 -07:00