summaryrefslogtreecommitdiff
path: root/include/apr_thread_proc.h
diff options
context:
space:
mode:
authorrbb <rbb@13f79535-47bb-0310-9956-ffa450edef68>2000-04-04 20:26:36 +0000
committerrbb <rbb@13f79535-47bb-0310-9956-ffa450edef68>2000-04-04 20:26:36 +0000
commitd0ae343b98f6f8f77b64a9a2dd75c77ed9d7d39c (patch)
treecbea2f07b3148b726fbeea493bbad1cf08f775a4 /include/apr_thread_proc.h
parenta6464d47b750df3462c3e5337c73d74b9c10048c (diff)
downloadlibapr-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.h19
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
}