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

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

?? apr_thread_cond.h

?? Apache_2.0.59-Openssl_0.9 配置tomcat. Apache_2.0.59-Openssl_0.9 配置tomcat.
?? H
字號:
/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
 * applicable.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef APR_THREAD_COND_H
#define APR_THREAD_COND_H

/**
 * @file apr_thread_cond.h
 * @brief APR Condition Variable Routines
 */

#include "apr.h"
#include "apr_pools.h"
#include "apr_errno.h"
#include "apr_time.h"
#include "apr_thread_mutex.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#if APR_HAS_THREADS || defined(DOXYGEN)

/**
 * @defgroup apr_thread_cond Condition Variable Routines
 * @ingroup APR 
 * @{
 */

/** Opaque structure for thread condition variables */
typedef struct apr_thread_cond_t apr_thread_cond_t;

/**
 * Create and initialize a condition variable that can be used to signal
 * and schedule threads in a single process.
 * @param cond the memory address where the newly created condition variable
 *        will be stored.
 * @param pool the pool from which to allocate the mutex.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_create(apr_thread_cond_t **cond,
                                                 apr_pool_t *pool);

/**
 * Put the active calling thread to sleep until signaled to wake up. Each
 * condition variable must be associated with a mutex, and that mutex must
 * be locked before  calling this function, or the behavior will be
 * undefined. As the calling thread is put to sleep, the given mutex
 * will be simultaneously released; and as this thread wakes up the lock
 * is again simultaneously acquired.
 * @param cond the condition variable on which to block.
 * @param mutex the mutex that must be locked upon entering this function,
 *        is released while the thread is asleep, and is again acquired before
 *        returning from this function.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_wait(apr_thread_cond_t *cond,
                                               apr_thread_mutex_t *mutex);

/**
 * Put the active calling thread to sleep until signaled to wake up or
 * the timeout is reached. Each condition variable must be associated
 * with a mutex, and that mutex must be locked before calling this
 * function, or the behavior will be undefined. As the calling thread
 * is put to sleep, the given mutex will be simultaneously released;
 * and as this thread wakes up the lock is again simultaneously acquired.
 * @param cond the condition variable on which to block.
 * @param mutex the mutex that must be locked upon entering this function,
 *        is released while the thread is asleep, and is again acquired before
 *        returning from this function.
 * @param timeout The amount of time in microseconds to wait. This is 
 *        a maximum, not a minimum. If the condition is signaled, we 
 *        will wake up before this time, otherwise the error APR_TIMEUP
 *        is returned.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_timedwait(apr_thread_cond_t *cond,
                                                    apr_thread_mutex_t *mutex,
                                                    apr_interval_time_t timeout);

/**
 * Signals a singla thread, if one exists, that is blocking on the given
 * condition variable. That thread is then scheduled to wake up and acquire
 * the associated mutex. Although it is not required, if predictible schedule
 * is desired, that mutex must be locked while calling this function.
 * @param cond the condition variable on which to produce the signal.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_signal(apr_thread_cond_t *cond);

/**
 * Signals all threads blocking on the given condition variable.
 * Each thread that was signaled is then schedule to wake up and acquire
 * the associated mutex. This will happen in a serialized manner.
 * @param cond the condition variable on which to produce the broadcast.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_broadcast(apr_thread_cond_t *cond);

/**
 * Destroy the condition variable and free the associated memory.
 * @param cond the condition variable to destroy.
 */
APR_DECLARE(apr_status_t) apr_thread_cond_destroy(apr_thread_cond_t *cond);

/**
 * Get the pool used by this thread_cond.
 * @return apr_pool_t the pool
 */
APR_POOL_DECLARE_ACCESSOR(thread_cond);

#endif /* APR_HAS_THREADS */

/** @} */

#ifdef __cplusplus
}
#endif

#endif  /* ! APR_THREAD_COND_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品欧美成人高清一区二区| 中文字幕视频一区| 蜜臀精品一区二区三区在线观看| 欧美欧美欧美欧美| 午夜精品久久久久久久久| 在线播放一区二区三区| 日本不卡视频一二三区| 精品福利视频一区二区三区| 国产精品中文字幕日韩精品 | 本田岬高潮一区二区三区| 欧美国产一区视频在线观看| 91论坛在线播放| 午夜精品福利一区二区三区av| 69久久夜色精品国产69蝌蚪网| 美女网站在线免费欧美精品| 国产夜色精品一区二区av| 成年人国产精品| 亚洲一区二区三区美女| 欧美电影免费观看高清完整版| 国产黄色精品网站| 依依成人精品视频| 日韩一区二区免费视频| 成人的网站免费观看| 亚洲国产视频一区| 欧美精品一区二区久久久| 成人国产一区二区三区精品| 五月婷婷另类国产| 国产午夜亚洲精品羞羞网站| 91视频一区二区| 美日韩一级片在线观看| 中文字幕一区二区视频| 91精品国产麻豆国产自产在线 | 午夜视频在线观看一区| 久久久综合九色合综国产精品| 91在线观看地址| 久久99精品久久久久久动态图 | 欧美国产日产图区| 欧美色精品在线视频| 国产在线精品一区二区夜色| 国产精品灌醉下药二区| 日韩一区二区在线看| 北条麻妃一区二区三区| 精品一区二区三区免费| 亚洲一级二级三级在线免费观看| 精品久久久久香蕉网| 欧洲av一区二区嗯嗯嗯啊| 国模一区二区三区白浆| 日日骚欧美日韩| 亚洲欧美电影一区二区| 久久久不卡网国产精品一区| 51午夜精品国产| 色婷婷久久一区二区三区麻豆| 国产一区二区三区综合| 午夜精品123| 亚洲精品成a人| 国产精品久久久久久妇女6080| 精品国产麻豆免费人成网站| 欧美日韩国产影片| 色久优优欧美色久优优| 99精品国产热久久91蜜凸| 国产高清久久久久| 极品销魂美女一区二区三区| 日韩av电影天堂| 亚洲成人777| 天天色 色综合| 天涯成人国产亚洲精品一区av| 一区二区三区中文免费| 国产精品人人做人人爽人人添| 精品对白一区国产伦| 欧美大片在线观看| 日韩欧美中文字幕精品| 欧美一区二区视频在线观看| 欧美久久久久久久久久| 欧美日韩国产综合久久| 欧美另类z0zxhd电影| 欧美精品一级二级| 51午夜精品国产| 日韩一区和二区| 日韩欧美成人午夜| 欧美zozozo| 久久伊99综合婷婷久久伊| 久久欧美一区二区| 国产日韩精品一区二区三区在线| 久久久久99精品一区| 精品va天堂亚洲国产| www国产亚洲精品久久麻豆| 久久久青草青青国产亚洲免观| 久久综合狠狠综合久久激情 | 毛片一区二区三区| 麻豆久久久久久| 国产福利91精品一区二区三区| 国产激情视频一区二区在线观看| 国产精品一区二区三区乱码| heyzo一本久久综合| 91蝌蚪porny九色| 欧美日韩国产另类一区| 欧美白人最猛性xxxxx69交| 久久久久国产精品厨房| 国产精品传媒入口麻豆| 一个色综合网站| 免费看日韩a级影片| 国产一区二区看久久| 99在线精品免费| 欧美日韩一区二区在线观看| 欧美岛国在线观看| 1024国产精品| 日日嗨av一区二区三区四区| 国产精品综合一区二区| 色婷婷激情综合| 日韩午夜三级在线| 国产精品久久久久影院色老大| 亚洲综合色视频| 国内精品视频666| 色网站国产精品| 精品久久久久久无| 亚洲六月丁香色婷婷综合久久 | 欧美激情一区二区三区四区| 日韩一区中文字幕| 蜜乳av一区二区| 91丝袜美腿高跟国产极品老师 | 国产日产欧美一区二区三区| 亚洲男人的天堂av| 精品中文字幕一区二区小辣椒| 成人免费av网站| 在线不卡免费av| 亚洲精品免费一二三区| 久久电影网站中文字幕| 欧美在线观看禁18| 欧美国产一区二区在线观看| 日韩中文字幕1| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品久久久一本精品| 日韩国产精品91| 91免费版pro下载短视频| 日韩三级在线免费观看| 一区二区三区在线观看视频| 国产一区二区三区不卡在线观看| 欧美日韩精品三区| 亚洲欧洲av另类| 国产精品中文欧美| 欧美成人性战久久| 天天综合网天天综合色| 色婷婷久久久综合中文字幕| 国产精品色一区二区三区| 天天做天天摸天天爽国产一区 | 欧美xxxx在线观看| 午夜av区久久| 91久久精品日日躁夜夜躁欧美| 国产亚洲精品aa午夜观看| 久久黄色级2电影| 日韩欧美亚洲国产精品字幕久久久| 亚洲综合久久久| 在线日韩一区二区| 一区二区三区久久久| 99久久99精品久久久久久| 国产精品丝袜在线| 国产精品亚洲第一区在线暖暖韩国| 日韩一区二区电影在线| 无码av中文一区二区三区桃花岛| 色www精品视频在线观看| 亚洲天堂成人网| eeuss鲁片一区二区三区在线看| 久久久精品综合| 国产成人高清在线| 久久久精品免费免费| 国产不卡在线一区| 中文字幕不卡三区| 99re亚洲国产精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 丁香婷婷深情五月亚洲| 国产精品美女久久久久aⅴ| 成人av在线一区二区三区| 自拍偷拍亚洲欧美日韩| 色综合久久九月婷婷色综合| 亚洲人成人一区二区在线观看 | 欧美亚洲高清一区二区三区不卡| 亚洲欧美在线aaa| 色菇凉天天综合网| 亚洲成在人线在线播放| 91精品国产综合久久精品麻豆| 偷窥国产亚洲免费视频| 日韩欧美一二三| 国产一区二区三区电影在线观看 | 亚洲成人激情自拍| 欧美蜜桃一区二区三区 | 成人性生交大片免费| 亚洲视频免费看| 欧美主播一区二区三区| 秋霞av亚洲一区二区三| 久久久久久久久97黄色工厂| 成人av免费在线观看| 亚洲综合久久久久| 精品久久免费看| 成人理论电影网| 亚洲高清视频的网址| 日韩久久久久久| av色综合久久天堂av综合| 亚洲国产精品久久人人爱蜜臀 | 中文字幕在线视频一区| 欧美午夜一区二区|