diff options
author | rbb <rbb@13f79535-47bb-0310-9956-ffa450edef68> | 2000-04-04 20:26:36 +0000 |
---|---|---|
committer | rbb <rbb@13f79535-47bb-0310-9956-ffa450edef68> | 2000-04-04 20:26:36 +0000 |
commit | d0ae343b98f6f8f77b64a9a2dd75c77ed9d7d39c (patch) | |
tree | cbea2f07b3148b726fbeea493bbad1cf08f775a4 /include/apr_thread_proc.h | |
parent | a6464d47b750df3462c3e5337c73d74b9c10048c (diff) | |
download | libapr-d0ae343b98f6f8f77b64a9a2dd75c77ed9d7d39c.tar.gz |
Other child logic finished for Unix. Docs are forthcoming. This should
for Apache, and those patches are also coming today.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@59785 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/apr_thread_proc.h')
-rw-r--r-- | include/apr_thread_proc.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/apr_thread_proc.h b/include/apr_thread_proc.h index 0c638e311..513d39e15 100644 --- a/include/apr_thread_proc.h +++ b/include/apr_thread_proc.h @@ -77,6 +77,19 @@ typedef enum {APR_WAIT, APR_NOWAIT} ap_wait_how_e; #define APR_CANCEL_ENABLE 3 #define APR_CANCEL_DISABLE 4 +#define APR_OC_REASON_DEATH 0 /* child has died, caller must call + * unregister still */ +#define APR_OC_REASON_UNWRITABLE 1 /* write_fd is unwritable */ +#define APR_OC_REASON_RESTART 2 /* a restart is occuring, perform + * any necessary cleanup (including + * sending a special signal to child) + */ +#define APR_OC_REASON_UNREGISTER 3 /* unregister has been called, do + * whatever is necessary (including + * kill the child) */ +#define APR_OC_REASON_LOST 4 /* somehow the child exited without + * us knowing ... buggy os? */ + typedef struct ap_thread_t ap_thread_t; typedef struct ap_threadattr_t ap_threadattr_t; typedef struct ap_proc_t ap_proc_t; @@ -146,6 +159,12 @@ ap_status_t ap_create_process(ap_proc_t **new, const char *progname, ap_status_t ap_wait_proc(ap_proc_t *proc, ap_wait_how_e waithow); ap_status_t ap_detach(ap_proc_t **new, ap_context_t *cont); +void ap_register_other_child(ap_proc_t *pid, + void (*maintenance) (int reason, void *), + void *data, int write_fd, ap_context_t *p); +void ap_unregister_other_children(void *data); +ap_status_t reap_other_child(ap_proc_t *pid); + ap_status_t ap_kill(ap_proc_t *proc, int sig); #ifdef __cplusplus } |