亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? apr_thread_proc.h

?? Apache_2.0.59-Openssl_0.9 配置tomcat. Apache_2.0.59-Openssl_0.9 配置tomcat.
?? 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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精油按摩中文字幕久久| hitomi一区二区三区精品| 综合激情网...| 日韩欧美国产三级电影视频| av不卡在线播放| 国产伦精品一区二区三区视频青涩 | 欧美一区二区三区四区五区| 9l国产精品久久久久麻豆| 美女一区二区三区在线观看| 一区二区免费视频| 中文欧美字幕免费| 欧美成人艳星乳罩| 911精品国产一区二区在线| 91视频观看免费| 国产成人免费av在线| 激情综合亚洲精品| 日韩精品亚洲一区二区三区免费| 亚洲男人的天堂一区二区| 中文字幕av免费专区久久| 精品国产一区二区国模嫣然| 制服丝袜激情欧洲亚洲| 欧美在线不卡视频| 欧美自拍偷拍午夜视频| 在线免费观看日韩欧美| 不卡的电视剧免费网站有什么| 国产精品一区免费在线观看| 另类小说色综合网站| 男人的天堂久久精品| 日本欧美一区二区| 日本大胆欧美人术艺术动态| 午夜亚洲福利老司机| 性做久久久久久免费观看欧美| 亚洲国产成人av网| 日韩经典中文字幕一区| 日本中文字幕一区二区有限公司| 午夜视频一区二区| 青草国产精品久久久久久| 日韩不卡一二三区| 麻豆精品国产91久久久久久| 麻豆久久久久久| 九一久久久久久| 国产精品996| 成人黄色av电影| a级高清视频欧美日韩| k8久久久一区二区三区| 在线精品视频小说1| 欧美精品在线一区二区三区| 69堂亚洲精品首页| 日韩美女一区二区三区四区| 久久久亚洲精华液精华液精华液| 国产欧美日韩亚州综合| 中文字幕一区日韩精品欧美| 亚洲美女区一区| 亚洲高清视频的网址| 老司机午夜精品| 国产大陆精品国产| 91网址在线看| 欧美另类videos死尸| 日韩精品专区在线| 国产欧美日韩综合| 一区二区三区免费观看| 日本 国产 欧美色综合| 国产成人综合网| 91九色最新地址| 欧美一区二区成人| 中文字幕乱码一区二区免费| 亚洲精品伦理在线| 久久99精品国产.久久久久久| 国产一区二区按摩在线观看| 91亚洲永久精品| 7777精品伊人久久久大香线蕉完整版 | 国产成a人亚洲| 色一情一伦一子一伦一区| 6080午夜不卡| 国产精品欧美一级免费| 亚洲亚洲人成综合网络| 国内精品久久久久影院色| 91丨九色丨国产丨porny| 91麻豆精品国产自产在线 | 成人丝袜高跟foot| 欧洲一区在线观看| 久久亚洲二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲大片在线观看| 成人免费视频一区二区| 777xxx欧美| 亚洲欧美偷拍卡通变态| 九色porny丨国产精品| 色婷婷综合久久久| 精品国产一区二区三区久久久蜜月| 亚洲欧美影音先锋| 黑人巨大精品欧美黑白配亚洲| 一本色道久久综合精品竹菊| 亚洲精品在线一区二区| 亚洲在线成人精品| 成人理论电影网| 日韩欧美国产小视频| 亚洲电影欧美电影有声小说| 粉嫩蜜臀av国产精品网站| 欧美一二三区精品| 一区二区在线观看不卡| 成人午夜视频免费看| 精品国内片67194| 亚洲电影一区二区| 欧美一区中文字幕| 亚洲色大成网站www久久九九| 久草在线在线精品观看| 在线播放日韩导航| 一区av在线播放| 色综合久久综合| 国产精品久久一卡二卡| 极品少妇一区二区| 日韩情涩欧美日韩视频| 亚洲成人精品一区二区| 色综合 综合色| 自拍偷自拍亚洲精品播放| 丁香激情综合国产| 久久影视一区二区| 久久99精品久久只有精品| 91精品在线免费观看| 婷婷久久综合九色国产成人| 欧美羞羞免费网站| 亚洲一区二区在线免费观看视频| 99国产精品一区| 国产精品久久久爽爽爽麻豆色哟哟| 国产最新精品精品你懂的| 精品国产凹凸成av人网站| 另类欧美日韩国产在线| 欧美一区二区视频在线观看2022| 亚洲国产sm捆绑调教视频| 在线观看免费亚洲| 一区二区三区波多野结衣在线观看| 成人激情动漫在线观看| 中文字幕一区二区三区精华液 | 紧缚奴在线一区二区三区| 欧美一区二区三区小说| 蜜桃91丨九色丨蝌蚪91桃色| 欧美一激情一区二区三区| 精一区二区三区| 久久综合色8888| 成人av网站在线观看| 成人欧美一区二区三区小说 | 欧美在线一二三四区| 亚洲国产成人精品视频| 欧美精品久久一区二区三区| 免费人成黄页网站在线一区二区| 91精品在线观看入口| 韩国精品主播一区二区在线观看 | 亚洲欧洲99久久| 欧美色老头old∨ideo| 日韩精品每日更新| 亚洲精品国产第一综合99久久| 色国产综合视频| 亚洲国产日韩一区二区| 日韩一级片网站| 国产福利91精品| 亚洲自拍偷拍图区| 5566中文字幕一区二区电影| 国精产品一区一区三区mba桃花| 国产欧美日韩麻豆91| 欧美综合色免费| 久久精品久久久精品美女| 国产精品亲子伦对白| 欧美三级韩国三级日本三斤| 麻豆精品一区二区av白丝在线| 久久精品亚洲麻豆av一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 粉嫩aⅴ一区二区三区四区五区 | 国产成人福利片| 亚洲裸体xxx| 欧美一区二区三区免费观看视频| 精品一区二区三区免费毛片爱| 国产精品成人在线观看| 88在线观看91蜜桃国自产| 一区二区三区精品| 色综合天天综合网国产成人综合天| 香蕉久久夜色精品国产使用方法| 久久久国产午夜精品| 在线欧美日韩精品| 经典三级视频一区| 亚洲在线中文字幕| 欧美激情资源网| 欧美私模裸体表演在线观看| 国产精品羞羞答答xxdd | 国产在线国偷精品免费看| 亚洲欧美精品午睡沙发| 日韩免费成人网| 欧美性大战xxxxx久久久| 国产河南妇女毛片精品久久久 | 蜜桃视频第一区免费观看| 中文字幕视频一区二区三区久| 日韩欧美在线一区二区三区| 91影视在线播放| 国产一区二区精品久久91| 天天av天天翘天天综合网色鬼国产 | 欧美三级欧美一级| 波多野结衣亚洲| 韩国精品久久久| 蜜臀久久99精品久久久久久9| 亚洲欧美色图小说|