summaryrefslogtreecommitdiff
path: root/sysexec.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysexec.h')
-rw-r--r--sysexec.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/sysexec.h b/sysexec.h
index 119405c..8954622 100644
--- a/sysexec.h
+++ b/sysexec.h
@@ -23,11 +23,15 @@
#define RHDROPBOX_sysexec_h_INCLUDED
#include <sys/types.h>
+#include "options.h"
struct child_list_element_struct {
pid_t pid_;
char* script_;
int err_fd_;
+ int running_;
+ char** argv_;
+ char** evp_;
struct child_list_element_struct* next_;
};
typedef struct child_list_element_struct child_list_element_t;
@@ -39,11 +43,15 @@ typedef struct child_list_struct child_list_t;
void child_list_init(child_list_t* list);
void child_list_clear(child_list_t* list);
-int child_list_add(child_list_t* list, pid_t pid, const char* script, int err_fd);
-void child_list_rm(child_list_t* list, pid_t pid);
+child_list_element_t* child_list_new(const char* script, char* const argv[], char* const evp[]);
+child_list_element_t* child_list_add(child_list_t* list, const char* script, char* const argv[], char* const evp[]);
+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);
-int rh_exec(const char* script, char* const argv[], char* const evp[], child_list_t* child_lst);
-int rh_waitpid(child_list_t* child_lst);
+int rh_exec(const char* script, char* const argv[], char* const evp[], child_list_t* child_lst, options_t* opt);
+int rh_exec_child(child_list_element_t* child);
+int rh_waitpid(child_list_t* child_lst, options_t* opt);
#endif