Home --> Documentations --> PJLIB Reference
Go to the documentation of this file.
87#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0
337#if !PJ_GRP_LOCK_DEBUG
349#define pj_grp_lock_add_ref_dbg(grp_lock, x, y) pj_grp_lock_add_ref(grp_lock)
353#define pj_grp_lock_add_ref(g) pj_grp_lock_add_ref_dbg(g, __FILE__, __LINE__)
368#if !PJ_GRP_LOCK_DEBUG
380#define pj_grp_lock_dec_ref_dbg(grp_lock, x, y) pj_grp_lock_dec_ref(grp_lock)
383#define pj_grp_lock_dec_ref(g) pj_grp_lock_dec_ref_dbg(g, __FILE__, __LINE__)
struct pj_lock_t pj_lock_t Definition: types.h:239
int pj_status_t Definition: types.h:68
struct pj_grp_lock_t pj_grp_lock_t Definition: types.h:242
void pj_grp_lock_config_default(pj_grp_lock_config *cfg)
pj_status_t pj_grp_lock_create_w_handler(pj_pool_t *pool, const pj_grp_lock_config *cfg, void *member, pj_grp_lock_handler handler, pj_grp_lock_t **p_grp_lock)
pj_status_t pj_grp_lock_chain_lock(pj_grp_lock_t *grp_lock, pj_lock_t *ext_lock, int pos)
pj_status_t pj_grp_lock_del_handler(pj_grp_lock_t *grp_lock, void *member, pj_grp_lock_handler handler)
pj_status_t pj_grp_lock_release(pj_grp_lock_t *grp_lock)
pj_status_t pj_grp_lock_add_handler(pj_grp_lock_t *grp_lock, pj_pool_t *pool, void *member, pj_grp_lock_handler handler)
pj_status_t pj_grp_lock_replace(pj_grp_lock_t *old_lock, pj_grp_lock_t *new_lock)
pj_status_t pj_grp_lock_add_ref(pj_grp_lock_t *grp_lock)
void(* pj_grp_lock_handler)(void *member) Definition: lock.h:202
pj_status_t pj_grp_lock_acquire(pj_grp_lock_t *grp_lock)
int pj_grp_lock_get_ref(pj_grp_lock_t *grp_lock)
#define pj_grp_lock_add_ref_dbg(grp_lock, x, y) Definition: lock.h:349
pj_status_t pj_grp_lock_unchain_lock(pj_grp_lock_t *grp_lock, pj_lock_t *ext_lock)
pj_status_t pj_grp_lock_destroy(pj_grp_lock_t *grp_lock)
#define pj_grp_lock_dec_ref_dbg(grp_lock, x, y) Definition: lock.h:380
pj_status_t pj_grp_lock_create(pj_pool_t *pool, const pj_grp_lock_config *cfg, pj_grp_lock_t **p_grp_lock)
void pj_grp_lock_dump(pj_grp_lock_t *grp_lock)
pj_status_t pj_grp_lock_dec_ref(pj_grp_lock_t *grp_lock)
pj_status_t pj_grp_lock_tryacquire(pj_grp_lock_t *grp_lock)
pj_status_t pj_lock_acquire(pj_lock_t *lock)
pj_status_t pj_lock_create_semaphore(pj_pool_t *pool, const char *name, unsigned initial, unsigned max, pj_lock_t **lock)
pj_status_t pj_lock_destroy(pj_lock_t *lock)
pj_status_t pj_lock_create_null_mutex(pj_pool_t *pool, const char *name, pj_lock_t **lock)
pj_status_t pj_lock_create_simple_mutex(pj_pool_t *pool, const char *name, pj_lock_t **lock)
pj_status_t pj_lock_tryacquire(pj_lock_t *lock)
pj_status_t pj_lock_create_recursive_mutex(pj_pool_t *pool, const char *name, pj_lock_t **lock)
pj_status_t pj_lock_release(pj_lock_t *lock)
#define PJ_BEGIN_DECL Definition: config.h:1284
#define PJ_END_DECL Definition: config.h:1285
unsigned flags Definition: lock.h:191
Declaration of basic types and utility.
PJLIB Open Source, high performance, small footprint, and very very portable framework
Copyright (C) 2006-2009 Teluu Inc.
|