00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef APR_THREAD_COND_H
00017
#define APR_THREAD_COND_H
00018
00024
#include "apr.h"
00025
#include "apr_pools.h"
00026
#include "apr_errno.h"
00027
#include "apr_time.h"
00028
#include "apr_thread_mutex.h"
00029
00030
#ifdef __cplusplus
00031
extern "C" {
00032
#endif
00033
00034
#if APR_HAS_THREADS || defined(DOXYGEN)
00035
00043 typedef struct apr_thread_cond_t apr_thread_cond_t;
00044
00052
APR_DECLARE(apr_status_t) apr_thread_cond_create(apr_thread_cond_t **cond,
00053 apr_pool_t *pool);
00054
00067 APR_DECLARE(apr_status_t) apr_thread_cond_wait(apr_thread_cond_t *cond,
00068 apr_thread_mutex_t *mutex);
00069
00086 APR_DECLARE(apr_status_t) apr_thread_cond_timedwait(apr_thread_cond_t *cond,
00087 apr_thread_mutex_t *mutex,
00088 apr_interval_time_t timeout);
00089
00097 APR_DECLARE(apr_status_t) apr_thread_cond_signal(apr_thread_cond_t *cond);
00098
00105 APR_DECLARE(apr_status_t) apr_thread_cond_broadcast(apr_thread_cond_t *cond);
00106
00111 APR_DECLARE(apr_status_t) apr_thread_cond_destroy(apr_thread_cond_t *cond);
00112
00117 APR_POOL_DECLARE_ACCESSOR(thread_cond);
00118
00119 #endif
00120
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126
00127 #endif