apr_global_mutex.h (apr-1.6.5.tar.bz2) | : | apr_global_mutex.h (apr-1.7.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 32 | skipping to change at line 32 | |||
* @brief APR Global Locking Routines | * @brief APR Global Locking Routines | |||
*/ | */ | |||
#include "apr.h" | #include "apr.h" | |||
#include "apr_proc_mutex.h" /* only for apr_lockmech_e */ | #include "apr_proc_mutex.h" /* only for apr_lockmech_e */ | |||
#include "apr_pools.h" | #include "apr_pools.h" | |||
#include "apr_errno.h" | #include "apr_errno.h" | |||
#if APR_PROC_MUTEX_IS_GLOBAL | #if APR_PROC_MUTEX_IS_GLOBAL | |||
#include "apr_proc_mutex.h" | #include "apr_proc_mutex.h" | |||
#endif | #endif | |||
#include "apr_time.h" | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
/** | /** | |||
* @defgroup APR_GlobalMutex Global Locking Routines | * @defgroup APR_GlobalMutex Global Locking Routines | |||
* @ingroup APR | * @ingroup APR | |||
* @{ | * @{ | |||
*/ | */ | |||
skipping to change at line 69 | skipping to change at line 70 | |||
* argument should always be provided. The lock code itself will | * argument should always be provided. The lock code itself will | |||
* determine if it should be used. | * determine if it should be used. | |||
* @param mech The mechanism to use for the interprocess lock, if any; one of | * @param mech The mechanism to use for the interprocess lock, if any; one of | |||
* <PRE> | * <PRE> | |||
* APR_LOCK_FCNTL | * APR_LOCK_FCNTL | |||
* APR_LOCK_FLOCK | * APR_LOCK_FLOCK | |||
* APR_LOCK_SYSVSEM | * APR_LOCK_SYSVSEM | |||
* APR_LOCK_POSIXSEM | * APR_LOCK_POSIXSEM | |||
* APR_LOCK_PROC_PTHREAD | * APR_LOCK_PROC_PTHREAD | |||
* APR_LOCK_DEFAULT pick the default mechanism for the platform | * APR_LOCK_DEFAULT pick the default mechanism for the platform | |||
* APR_LOCK_DEFAULT_TIMED pick the default timed mechanism | ||||
* </PRE> | * </PRE> | |||
* @param pool the pool from which to allocate the mutex. | * @param pool the pool from which to allocate the mutex. | |||
* @warning Check APR_HAS_foo_SERIALIZE defines to see if the platform supports | * @warning Check APR_HAS_foo_SERIALIZE defines to see if the platform supports | |||
* APR_LOCK_foo. Only APR_LOCK_DEFAULT is portable. | * APR_LOCK_foo. Only APR_LOCK_DEFAULT is portable. | |||
*/ | */ | |||
APR_DECLARE(apr_status_t) apr_global_mutex_create(apr_global_mutex_t **mutex, | APR_DECLARE(apr_status_t) apr_global_mutex_create(apr_global_mutex_t **mutex, | |||
const char *fname, | const char *fname, | |||
apr_lockmech_e mech, | apr_lockmech_e mech, | |||
apr_pool_t *pool); | apr_pool_t *pool); | |||
skipping to change at line 112 | skipping to change at line 114 | |||
/** | /** | |||
* Attempt to acquire the lock for the given mutex. If the mutex has already | * Attempt to acquire the lock for the given mutex. If the mutex has already | |||
* been acquired, the call returns immediately with APR_EBUSY. Note: it | * been acquired, the call returns immediately with APR_EBUSY. Note: it | |||
* is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine | * is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine | |||
* if the return value was APR_EBUSY, for portability reasons. | * if the return value was APR_EBUSY, for portability reasons. | |||
* @param mutex the mutex on which to attempt the lock acquiring. | * @param mutex the mutex on which to attempt the lock acquiring. | |||
*/ | */ | |||
APR_DECLARE(apr_status_t) apr_global_mutex_trylock(apr_global_mutex_t *mutex); | APR_DECLARE(apr_status_t) apr_global_mutex_trylock(apr_global_mutex_t *mutex); | |||
/** | /** | |||
* Attempt to acquire the lock for the given mutex until timeout expires. | ||||
* If the acquisition time outs, the call returns with APR_TIMEUP. | ||||
* @param mutex the mutex on which to attempt the lock acquiring. | ||||
* @param timeout the relative timeout (microseconds). | ||||
* @note A negative or nul timeout means immediate attempt, returning | ||||
* APR_TIMEUP without blocking if it the lock is already acquired. | ||||
*/ | ||||
APR_DECLARE(apr_status_t) apr_global_mutex_timedlock(apr_global_mutex_t *mutex, | ||||
apr_interval_time_t timeout); | ||||
/** | ||||
* Release the lock for the given mutex. | * Release the lock for the given mutex. | |||
* @param mutex the mutex from which to release the lock. | * @param mutex the mutex from which to release the lock. | |||
*/ | */ | |||
APR_DECLARE(apr_status_t) apr_global_mutex_unlock(apr_global_mutex_t *mutex); | APR_DECLARE(apr_status_t) apr_global_mutex_unlock(apr_global_mutex_t *mutex); | |||
/** | /** | |||
* Destroy the mutex and free the memory associated with the lock. | * Destroy the mutex and free the memory associated with the lock. | |||
* @param mutex the mutex to destroy. | * @param mutex the mutex to destroy. | |||
*/ | */ | |||
APR_DECLARE(apr_status_t) apr_global_mutex_destroy(apr_global_mutex_t *mutex); | APR_DECLARE(apr_status_t) apr_global_mutex_destroy(apr_global_mutex_t *mutex); | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 13 lines changed or added |