Go to the documentation of this file.
19 #ifndef GRPC_CORE_LIB_GPRPP_SYNC_H
20 #define GRPC_CORE_LIB_GPRPP_SYNC_H
24 #include "absl/base/thread_annotations.h"
25 #include "absl/synchronization/mutex.h"
30 #ifndef GPR_ABSEIL_SYNC
45 #ifdef GPR_ABSEIL_SYNC
109 if (!released_)
mu_->Unlock();
123 bool released_ =
false;
149 #endif // GPR_ABSEIL_SYNC
173 if (!released_)
mu_->Unlock();
195 bool released_ =
false;
~ReleasableMutexLock() ABSL_UNLOCK_FUNCTION()
GPRAPI void gpr_cv_signal(gpr_cv *cv)
bool WaitWithTimeout(Mutex *mu, absl::Duration timeout)
GPRAPI void gpr_mu_unlock(gpr_mu *mu)
void Lock() ABSL_EXCLUSIVE_LOCK_FUNCTION()
#define GPR_DEBUG_ASSERT(x)
void Release() ABSL_UNLOCK_FUNCTION()
gpr_timespec ToGprTimeSpec(absl::Duration duration)
~MutexLock() ABSL_UNLOCK_FUNCTION()
LockableAndReleasableMutexLock(Mutex *mu) ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
GPRAPI void gpr_mu_destroy(gpr_mu *mu)
void Lock() ABSL_EXCLUSIVE_LOCK_FUNCTION()
GPRAPI void gpr_cv_destroy(gpr_cv *cv)
~LockableAndReleasableMutexLock() ABSL_UNLOCK_FUNCTION()
GPRAPI void gpr_mu_init(gpr_mu *mu)
MutexLock(Mutex *mu) ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
GPRAPI int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
#define ABSL_EXCLUSIVE_TRYLOCK_FUNCTION(...)
GPRAPI void gpr_mu_lock(gpr_mu *mu)
void Release() ABSL_UNLOCK_FUNCTION()
bool WaitWithDeadline(Mutex *mu, absl::Time deadline)
MutexLockForGprMu & operator=(const MutexLock &)=delete
void Unlock() ABSL_UNLOCK_FUNCTION()
CondVar & operator=(const CondVar &)=delete
#define ABSL_EXCLUSIVE_LOCK_FUNCTION(...)
GPRAPI int gpr_mu_trylock(gpr_mu *mu)
bool TryLock() ABSL_EXCLUSIVE_TRYLOCK_FUNCTION(true)
gpr_mu * GetUnderlyingGprMu(Mutex *mutex)
MutexLockForGprMu(gpr_mu *mu)
GPRAPI void gpr_cv_broadcast(gpr_cv *cv)
#define ABSL_ASSERT_EXCLUSIVE_LOCK(...)
ReleasableMutexLock(Mutex *mu) ABSL_EXCLUSIVE_LOCK_FUNCTION(mu)
#define ABSL_UNLOCK_FUNCTION(...)
void AssertHeld() ABSL_ASSERT_EXCLUSIVE_LOCK()
#define ABSL_SCOPED_LOCKABLE
constexpr Time InfiniteFuture()
GPRAPI void gpr_cv_init(gpr_cv *cv)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:24