24 #ifndef _CRITICAL_SECTION_H_ 25 #define _CRITICAL_SECTION_H_ 43 #if !defined (SERVER_MODE) && !defined (SA_MODE) 44 #error critical_section.h belongs to server or stand-alone modules. 152 #if defined (SERVER_MODE) 154 #else // not SERVER_MODE = SA_MODE 155 static inline const char *
160 #endif // not SERVER_MODE = SA_MODE 198 #if !defined(SERVER_MODE) 199 #define csect_initialize_critical_section(a, b) 200 #define csect_finalize_critical_section(a) 201 #define csect_enter(a, b, c) NO_ERROR 202 #define csect_enter_as_reader(a, b, c) NO_ERROR 203 #define csect_exit(a, b) 204 #define csect_enter_critical_section(a, b, c) 205 #define csect_enter_critical_section_as_reader(a, b, c) 206 #define csect_exit_critical_section(a, b) 207 #define csect_check_own(a, b) 1 208 #define csect_start_scan NULL 210 #define rwlock_initialize(a, b) NO_ERROR 211 #define rwlock_finalize(a) NO_ERROR 212 #define rwlock_read_lock(a) NO_ERROR 213 #define rwlock_read_unlock(a) NO_ERROR 214 #define rwlock_write_lock(a) NO_ERROR 215 #define rwlock_write_unlock(a) NO_ERROR 217 #define rmutex_initialize(a, b) NO_ERROR 218 #define rmutex_finalize(a) NO_ERROR 219 #define rmutex_lock(a, b) NO_ERROR 220 #define rmutex_unlock(a, b) NO_ERROR #define rmutex_finalize(a)
#define rwlock_write_unlock(a)
int csect_finalize_static_critical_sections(void)
#define rmutex_unlock(a, b)
struct sync_stats SYNC_STATS
THREAD_ENTRY * waiting_promoters_queue
int csect_initialize_static_critical_sections(void)
#define csect_finalize_critical_section(a)
unsigned long int thread_id_t
int sync_initialize_sync_stats(void)
struct sync_rmutex SYNC_RMUTEX
#define csect_initialize_critical_section(a, b)
struct sync_rwlock SYNC_RWLOCK
pthread_mutex_t global_lock
int csect_demote(THREAD_ENTRY *thread_p, int cs_index, int wait_secs)
unsigned int waiting_readers
void sync_dump_statistics(FILE *fp, SYNC_PRIMITIVE_TYPE type)
#define csect_check_own(a, b)
void rwlock_dump_statistics(FILE *fp)
#define csect_enter(a, b, c)
#define rwlock_write_lock(a)
struct timeval max_elapsed
unsigned int waiting_writers
pthread_cond_t readers_ok
int sync_finalize_sync_stats(void)
pthread_mutex_t read_lock
#define rmutex_lock(a, b)
struct sync_critical_section SYNC_CRITICAL_SECTION
#define csect_enter_critical_section_as_reader(a, b, c)
#define csect_exit_critical_section(a, b)
int csect_promote(THREAD_ENTRY *thread_p, int cs_index, int wait_secs)
THREAD_ENTRY * waiting_writers_queue
#define rwlock_read_lock(a)
#define rwlock_finalize(a)
struct timeval total_elapsed
#define csect_enter_as_reader(a, b, c)
void rmutex_dump_statistics(FILE *fp)
#define STATIC_CAST(dest_type, expr)
static const int CRITICAL_SECTION_COUNT
void csect_dump_statistics(FILE *fp)
#define rmutex_initialize(a, b)
#define csect_enter_critical_section(a, b, c)
#define rwlock_initialize(a, b)
#define rwlock_read_unlock(a)
static const char * csect_name_at(int cs_index)