mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-04 08:35:31 +00:00
add isc_mutex_trylock()
This commit is contained in:
@@ -16,9 +16,15 @@ typedef pthread_mutex_t isc_mutex_t;
|
|||||||
#define isc_mutex_lock(mp) \
|
#define isc_mutex_lock(mp) \
|
||||||
((pthread_mutex_lock((mp)) == 0) ? \
|
((pthread_mutex_lock((mp)) == 0) ? \
|
||||||
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
||||||
|
#define isc_mutex_lock(mp) \
|
||||||
|
((pthread_mutex_lock((mp)) == 0) ? \
|
||||||
|
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
||||||
#define isc_mutex_unlock(mp) \
|
#define isc_mutex_unlock(mp) \
|
||||||
((pthread_mutex_unlock((mp)) == 0) ? \
|
((pthread_mutex_unlock((mp)) == 0) ? \
|
||||||
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
||||||
|
#define isc_mutex_trylock(mp) \
|
||||||
|
((pthread_mutex_trylock((mp)) == 0 ? \
|
||||||
|
ISC_R_SUCCESS : ISC_R_LOCKBUSY)
|
||||||
#define isc_mutex_destroy(mp) \
|
#define isc_mutex_destroy(mp) \
|
||||||
((pthread_mutex_destroy((mp)) == 0) ? \
|
((pthread_mutex_destroy((mp)) == 0) ? \
|
||||||
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
ISC_R_SUCCESS : ISC_R_UNEXPECTED)
|
||||||
|
@@ -14,6 +14,8 @@ typedef CRITICAL_SECTION isc_mutex_t;
|
|||||||
(EnterCriticalSection((mp)), ISC_R_SUCCESS)
|
(EnterCriticalSection((mp)), ISC_R_SUCCESS)
|
||||||
#define isc_mutex_unlock(mp) \
|
#define isc_mutex_unlock(mp) \
|
||||||
(LeaveCriticalSection((mp)), ISC_R_SUCCESS)
|
(LeaveCriticalSection((mp)), ISC_R_SUCCESS)
|
||||||
|
#define isc_mutex_trylock(mp) \
|
||||||
|
(TryEnterCriticalSection((mp)) ? ISC_R_SUCCESS : ISC_R_LOCKBUSY)
|
||||||
#define isc_mutex_destroy(mp) \
|
#define isc_mutex_destroy(mp) \
|
||||||
(DeleteCriticalSection((mp)), ISC_R_SUCCESS)
|
(DeleteCriticalSection((mp)), ISC_R_SUCCESS)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user