📄 group__apr__thread__proc.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache Portable Runtime: Threads and Process Functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.7 -->
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div>
<h1>Threads and Process Functions</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>group </td><td class="memItemRight" valign=bottom><a class="el" href="group___a_p_r___o_c.html">Other Child Flags</a></td></tr>
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structapr__proc__t.html">apr_proc_t</a></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga54">APR_PROC_CHECK_EXIT</a>(x) (x & APR_PROC_EXIT)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga55">APR_PROC_CHECK_SIGNALED</a>(x) (x & APR_PROC_SIGNAL)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga56">APR_PROC_CHECK_CORE_DUMP</a>(x) (x & APR_PROC_SIGNAL_CORE)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga57">APR_NO_PIPE</a> 0</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga58">APR_FULL_BLOCK</a> 1</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga59">APR_FULL_NONBLOCK</a> 2</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga60">APR_PARENT_BLOCK</a> 3</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga61">APR_CHILD_BLOCK</a> 4</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga62">APR_LIMIT_CPU</a> 0</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga63">APR_LIMIT_MEM</a> 1</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga64">APR_LIMIT_NPROC</a> 2</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga65">APR_LIMIT_NOFILE</a> 3</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga66">APR_PROC_DETACH_FOREGROUND</a> 0 /**< Do not detach */</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga67">APR_PROC_DETACH_DAEMONIZE</a> 1 /**< Detach */</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structapr__proc__t.html">apr_proc_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga0">apr_proc_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void( </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga1">apr_child_errfn_t</a> )(<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *proc, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> err, const char *description)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga5">apr_thread_once_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga5">apr_thread_once_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__thread__proc.html#ga7">apr_other_child_rec_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga7">apr_other_child_rec_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void *(APR_THREAD_FUNC * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga8">apr_thread_start_t</a> )(<a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *, void *)</td></tr>
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga68">apr_cmdtype_e</a> { <br>
<a class="el" href="group__apr__thread__proc.html#gga68a29">APR_SHELLCMD</a>,
<a class="el" href="group__apr__thread__proc.html#gga68a30">APR_PROGRAM</a>,
<a class="el" href="group__apr__thread__proc.html#gga68a31">APR_PROGRAM_ENV</a>,
<a class="el" href="group__apr__thread__proc.html#gga68a32">APR_PROGRAM_PATH</a>,
<br>
<a class="el" href="group__apr__thread__proc.html#gga68a33">APR_SHELLCMD_ENV</a>
<br>
}</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga69">apr_wait_how_e</a> { <a class="el" href="group__apr__thread__proc.html#gga69a34">APR_WAIT</a>,
<a class="el" href="group__apr__thread__proc.html#gga69a35">APR_NOWAIT</a>
}</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga70">apr_exit_why_e</a> { <a class="el" href="group__apr__thread__proc.html#gga70a36">APR_PROC_EXIT</a> = 1,
<a class="el" href="group__apr__thread__proc.html#gga70a37">APR_PROC_SIGNAL</a> = 2,
<a class="el" href="group__apr__thread__proc.html#gga70a38">APR_PROC_SIGNAL_CORE</a> = 4
}</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga71">apr_kill_conditions_e</a> { <br>
<a class="el" href="group__apr__thread__proc.html#gga71a39">APR_KILL_NEVER</a>,
<a class="el" href="group__apr__thread__proc.html#gga71a40">APR_KILL_ALWAYS</a>,
<a class="el" href="group__apr__thread__proc.html#gga71a41">APR_KILL_AFTER_TIMEOUT</a>,
<a class="el" href="group__apr__thread__proc.html#gga71a42">APR_JUST_WAIT</a>,
<br>
<a class="el" href="group__apr__thread__proc.html#gga71a43">APR_KILL_ONLY_ONCE</a>
<br>
}</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga9">apr_threadattr_create</a> (<a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> **new_attr, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *cont)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga10">apr_threadattr_detach_set</a> (<a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> *attr, apr_int32_t on)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga11">apr_threadattr_detach_get</a> (<a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> *attr)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga12">apr_threadattr_stacksize_set</a> (<a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> *attr, apr_size_t stacksize)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga13">apr_threadattr_guardsize_set</a> (<a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> *attr, apr_size_t guardsize)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga14">apr_thread_create</a> (<a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> **new_thread, <a class="el" href="group__apr__thread__proc.html#ga3">apr_threadattr_t</a> *attr, <a class="el" href="group__apr__thread__proc.html#ga8">apr_thread_start_t</a> func, void *data, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *cont)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga15">apr_thread_exit</a> (<a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thd, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> retval)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga16">apr_thread_join</a> (<a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> *retval, <a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thd)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga17">apr_thread_yield</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga18">apr_thread_once_init</a> (<a class="el" href="group__apr__thread__proc.html#ga5">apr_thread_once_t</a> **control, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga19">apr_thread_once</a> (<a class="el" href="group__apr__thread__proc.html#ga5">apr_thread_once_t</a> *control, void(*func)(void))</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga20">apr_thread_detach</a> (<a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thd)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga21">apr_thread_data_get</a> (void **data, const char *key, <a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thread)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga22">apr_thread_data_set</a> (void *data, const char *key, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thread)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga23">apr_threadkey_private_create</a> (<a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> **key, void(*dest)(void *), <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *cont)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga24">apr_threadkey_private_get</a> (void **new_mem, <a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> *key)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga25">apr_threadkey_private_set</a> (void *priv, <a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> *key)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga26">apr_threadkey_private_delete</a> (<a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> *key)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga27">apr_threadkey_data_get</a> (void **data, const char *key, <a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> *threadkey)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga28">apr_threadkey_data_set</a> (void *data, const char *key, <a class="el" href="group__apr__errno.html#ga0">apr_status_t</a>(*cleanup)(void *), <a class="el" href="group__apr__thread__proc.html#ga6">apr_threadkey_t</a> *threadkey)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga29">apr_procattr_create</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> **new_attr, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *cont)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga30">apr_procattr_io_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, apr_int32_t in, apr_int32_t out, apr_int32_t err)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga31">apr_procattr_child_in_set</a> (struct <a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *child_in, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *parent_in)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga32">apr_procattr_child_out_set</a> (struct <a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *child_out, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *parent_out)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga33">apr_procattr_child_err_set</a> (struct <a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *child_err, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *parent_err)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga34">apr_procattr_dir_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, const char *dir)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga35">apr_procattr_cmdtype_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__thread__proc.html#ga68">apr_cmdtype_e</a> cmd)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga36">apr_procattr_detach_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, apr_int32_t detach)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga37">apr_procattr_child_errfn_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__thread__proc.html#ga1">apr_child_errfn_t</a> *errfn)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga38">apr_procattr_error_check_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, apr_int32_t chk)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga39">apr_procattr_addrspace_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, apr_int32_t addrspace)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga40">apr_procattr_user_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, const char *username, const char *password)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga41">apr_procattr_group_set</a> (<a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, const char *groupname)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga42">apr_proc_create</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *new_proc, const char *progname, const char *const *args, const char *const *env, <a class="el" href="group__apr__thread__proc.html#ga4">apr_procattr_t</a> *attr, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *pool)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga43">apr_proc_wait</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, int *exitcode, <a class="el" href="group__apr__thread__proc.html#ga70">apr_exit_why_e</a> *exitwhy, <a class="el" href="group__apr__thread__proc.html#ga69">apr_wait_how_e</a> waithow)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga44">apr_proc_wait_all_procs</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, int *exitcode, <a class="el" href="group__apr__thread__proc.html#ga70">apr_exit_why_e</a> *exitwhy, <a class="el" href="group__apr__thread__proc.html#ga69">apr_wait_how_e</a> waithow, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga45">apr_proc_detach</a> (int daemonize)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga46">apr_proc_other_child_register</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, void(*maintenance)(int reason, void *, int status), void *data, <a class="el" href="group__apr__file__io.html#ga2">apr_file_t</a> *write_fd, <a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga47">apr_proc_other_child_unregister</a> (void *data)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga48">apr_proc_other_child_alert</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, int reason, int status)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga49">apr_proc_other_child_refresh</a> (<a class="el" href="group__apr__thread__proc.html#ga7">apr_other_child_rec_t</a> *ocr, int reason)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga50">apr_proc_other_child_refresh_all</a> (int reason)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__errno.html#ga0">apr_status_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga51">apr_proc_kill</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, int sig)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga52">apr_pool_note_subprocess</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *a, <a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc, <a class="el" href="group__apr__thread__proc.html#ga71">apr_kill_conditions_e</a> how)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__thread__proc.html#ga53">apr_thread_pool_get</a> (const <a class="el" href="group__apr__thread__proc.html#ga2">apr_thread_t</a> *thethread)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="ga61" doxytag="apr_thread_proc.h::APR_CHILD_BLOCK" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define APR_CHILD_BLOCK 4 </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__apr__thread__proc.html#ga30">apr_procattr_io_set</a> </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga58" doxytag="apr_thread_proc.h::APR_FULL_BLOCK" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define APR_FULL_BLOCK 1 </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__apr__thread__proc.html#ga30">apr_procattr_io_set</a> </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga59" doxytag="apr_thread_proc.h::APR_FULL_NONBLOCK" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define APR_FULL_NONBLOCK 2 </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -