diff options
Diffstat (limited to 'src/sysexec.h')
-rw-r--r-- | src/sysexec.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sysexec.h b/src/sysexec.h index 783b12d..8fef3e7 100644 --- a/src/sysexec.h +++ b/src/sysexec.h @@ -23,6 +23,7 @@ #define DROPNROLL_sysexec_h_INCLUDED #include <sys/types.h> +#include <sys/time.h> #include "options.h" typedef enum { NEW, RUNNING, KILLED } child_state_t; @@ -32,6 +33,7 @@ struct child_list_element_struct { char* script_; int err_fd_; child_state_t state_; + struct timeval last_state_change_; char** argv_; char** evp_; struct child_list_element_struct* next_; @@ -50,11 +52,12 @@ child_list_element_t* child_list_add(child_list_t* list, const char* script, cha void child_list_rm(child_list_t* list, child_list_element_t* child); void child_list_rm_pid(child_list_t* list, pid_t pid); child_list_element_t* child_list_find(child_list_t* list, pid_t pid); -int child_list_num_running(child_list_t* list); -void child_list_kill_oldest(child_list_t* list); +int child_list_num_state(child_list_t* list, child_state_t state); +void child_list_kill_oldest(child_list_t* list, int min_runtime); int dnr_exec(const char* script, char* const argv[], char* const evp[], child_list_t* child_lst, options_t* opt); int dnr_exec_child(child_list_element_t* child); +void dnr_check_runtime(child_list_t* child_lst, options_t* opt); int dnr_waitpid(child_list_t* child_lst, options_t* opt); #endif |