⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apr_thread_proc.h

📁 apache的软件linux版本
💻 H
📖 第 1 页 / 共 3 页
字号:
/** * force the current thread to yield the processor */APR_DECLARE(void) apr_thread_yield(void);/** * Initialize the control variable for apr_thread_once.  If this isn't * called, apr_initialize won't work. * @param control The control variable to initialize * @param p The pool to allocate data from. */APR_DECLARE(apr_status_t) apr_thread_once_init(apr_thread_once_t **control,                                               apr_pool_t *p);/** * Run the specified function one time, regardless of how many threads * call it. * @param control The control variable.  The same variable should *                be passed in each time the function is tried to be *                called.  This is how the underlying functions determine *                if the function has ever been called before. * @param func The function to call. */APR_DECLARE(apr_status_t) apr_thread_once(apr_thread_once_t *control,                                          void (*func)(void));/** * detach a thread * @param thd The thread to detach  */APR_DECLARE(apr_status_t) apr_thread_detach(apr_thread_t *thd);/** * Return the pool associated with the current thread. * @param data The user data associated with the thread. * @param key The key to associate with the data * @param thread The currently open thread. */APR_DECLARE(apr_status_t) apr_thread_data_get(void **data, const char *key,                                             apr_thread_t *thread);/** * Return the pool associated with the current thread. * @param data The user data to associate with the thread. * @param key The key to use for associating the data with the thread * @param cleanup The cleanup routine to use when the thread is destroyed. * @param thread The currently open thread. */APR_DECLARE(apr_status_t) apr_thread_data_set(void *data, const char *key,                                             apr_status_t (*cleanup) (void *),                                             apr_thread_t *thread);/** * Create and initialize a new thread private address space * @param key The thread private handle. * @param dest The destructor to use when freeing the private memory. * @param cont The pool to use */APR_DECLARE(apr_status_t) apr_threadkey_private_create(apr_threadkey_t **key,                                                     void (*dest)(void *),                                                    apr_pool_t *cont);/** * Get a pointer to the thread private memory * @param new_mem The data stored in private memory  * @param key The handle for the desired thread private memory  */APR_DECLARE(apr_status_t) apr_threadkey_private_get(void **new_mem,                                                  apr_threadkey_t *key);/** * Set the data to be stored in thread private memory * @param priv The data to be stored in private memory  * @param key The handle for the desired thread private memory  */APR_DECLARE(apr_status_t) apr_threadkey_private_set(void *priv,                                                  apr_threadkey_t *key);/** * Free the thread private memory * @param key The handle for the desired thread private memory  */APR_DECLARE(apr_status_t) apr_threadkey_private_delete(apr_threadkey_t *key);/** * Return the pool associated with the current threadkey. * @param data The user data associated with the threadkey. * @param key The key associated with the data * @param threadkey The currently open threadkey. */APR_DECLARE(apr_status_t) apr_threadkey_data_get(void **data, const char *key,                                                apr_threadkey_t *threadkey);/** * Return the pool associated with the current threadkey. * @param data The data to set. * @param key The key to associate with the data. * @param cleanup The cleanup routine to use when the file is destroyed. * @param threadkey The currently open threadkey. */APR_DECLARE(apr_status_t) apr_threadkey_data_set(void *data, const char *key,                                                apr_status_t (*cleanup) (void *),                                                apr_threadkey_t *threadkey);#endif/** * Create and initialize a new procattr variable * @param new_attr The newly created procattr.  * @param cont The pool to use */APR_DECLARE(apr_status_t) apr_procattr_create(apr_procattr_t **new_attr,                                                  apr_pool_t *cont);/** * Determine if any of stdin, stdout, or stderr should be linked to pipes  * when starting a child process. * @param attr The procattr we care about.  * @param in Should stdin be a pipe back to the parent? * @param out Should stdout be a pipe back to the parent? * @param err Should stderr be a pipe back to the parent? */APR_DECLARE(apr_status_t) apr_procattr_io_set(apr_procattr_t *attr,                                              apr_int32_t in, apr_int32_t out,                                             apr_int32_t err);/** * Set the child_in and/or parent_in values to existing apr_file_t values. * @param attr The procattr we care about.  * @param child_in apr_file_t value to use as child_in. Must be a valid file. * @param parent_in apr_file_t value to use as parent_in. Must be a valid file. * @remark  This is NOT a required initializer function. This is *          useful if you have already opened a pipe (or multiple files) *          that you wish to use, perhaps persistently across multiple *          process invocations - such as a log file. You can save some  *          extra function calls by not creating your own pipe since this *          creates one in the process space for you. */APR_DECLARE(apr_status_t) apr_procattr_child_in_set(struct apr_procattr_t *attr,                                                  apr_file_t *child_in,                                                  apr_file_t *parent_in);/** * Set the child_out and parent_out values to existing apr_file_t values. * @param attr The procattr we care about.  * @param child_out apr_file_t value to use as child_out. Must be a valid file. * @param parent_out apr_file_t value to use as parent_out. Must be a valid file. * @remark This is NOT a required initializer function. This is *         useful if you have already opened a pipe (or multiple files) *         that you wish to use, perhaps persistently across multiple *         process invocations - such as a log file.  */APR_DECLARE(apr_status_t) apr_procattr_child_out_set(struct apr_procattr_t *attr,                                                   apr_file_t *child_out,                                                   apr_file_t *parent_out);/** * Set the child_err and parent_err values to existing apr_file_t values. * @param attr The procattr we care about.  * @param child_err apr_file_t value to use as child_err. Must be a valid file. * @param parent_err apr_file_t value to use as parent_err. Must be a valid file. * @remark This is NOT a required initializer function. This is *         useful if you have already opened a pipe (or multiple files) *         that you wish to use, perhaps persistently across multiple *         process invocations - such as a log file.  */APR_DECLARE(apr_status_t) apr_procattr_child_err_set(struct apr_procattr_t *attr,                                                   apr_file_t *child_err,                                                   apr_file_t *parent_err);/** * Set which directory the child process should start executing in. * @param attr The procattr we care about.  * @param dir Which dir to start in.  By default, this is the same dir as *            the parent currently resides in, when the createprocess call *            is made.  */APR_DECLARE(apr_status_t) apr_procattr_dir_set(apr_procattr_t *attr,                                               const char *dir);/** * Set what type of command the child process will call. * @param attr The procattr we care about.  * @param cmd The type of command.  One of: * <PRE> *            APR_SHELLCMD     --  Anything that the shell can handle *            APR_PROGRAM      --  Executable program   (default)  *            APR_PROGRAM_ENV  --  Executable program, copy environment *            APR_PROGRAM_PATH --  Executable program on PATH, copy env * </PRE> */APR_DECLARE(apr_status_t) apr_procattr_cmdtype_set(apr_procattr_t *attr,                                                  apr_cmdtype_e cmd);/** * Determine if the child should start in detached state. * @param attr The procattr we care about.  * @param detach Should the child start in detached state?  Default is no.  */APR_DECLARE(apr_status_t) apr_procattr_detach_set(apr_procattr_t *attr,                                                  apr_int32_t detach);#if APR_HAVE_STRUCT_RLIMIT/** * Set the Resource Utilization limits when starting a new process. * @param attr The procattr we care about.  * @param what Which limit to set, one of: * <PRE> *                 APR_LIMIT_CPU *                 APR_LIMIT_MEM *                 APR_LIMIT_NPROC *                 APR_LIMIT_NOFILE * </PRE> * @param limit Value to set the limit to. */APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,                                                 apr_int32_t what,                                                struct rlimit *limit);#endif/** * Specify an error function to be called in the child process if APR * encounters an error in the child prior to running the specified program. * @param attr The procattr describing the child process to be created. * @param errfn The function to call in the child process. * @remark At the present time, it will only be called from apr_proc_create() *         on platforms where fork() is used.  It will never be called on other *         platforms, on those platforms apr_proc_create() will return the error *         in the parent process rather than invoke the callback in the now-forked *         child process. */APR_DECLARE(apr_status_t) apr_procattr_child_errfn_set(apr_procattr_t *attr,                                                       apr_child_errfn_t *errfn);/** * Specify that apr_proc_create() should do whatever it can to report * failures to the caller of apr_proc_create(), rather than find out in * the child. * @param attr The procattr describing the child process to be created. * @param chk Flag to indicate whether or not extra work should be done *            to try to report failures to the caller. * @remark This flag only affects apr_proc_create() on platforms where *         fork() is used.  This leads to extra overhead in the calling *         process, but that may help the application handle such *         errors more gracefully. */APR_DECLARE(apr_status_t) apr_procattr_error_check_set(apr_procattr_t *attr,                                                       apr_int32_t chk);/** * Determine if the child should start in its own address space or using the  * current one from its parent * @param attr The procattr we care about.  * @param addrspace Should the child start in its own address space?  Default *                  is no on NetWare and yes on other platforms. */APR_DECLARE(apr_status_t) apr_procattr_addrspace_set(apr_procattr_t *attr,                                                       apr_int32_t addrspace);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -