18#include "pw_chrono/system_clock.h"
19#include "pw_preprocessor/util.h"
20#include "pw_sync/lock_annotations.h"
21#include "pw_sync/mutex.h"
25#include "pw_sync/virtual_basic_lockable.h"
60 PW_EXCLUSIVE_TRYLOCK_FUNCTION(
true);
70 PW_EXCLUSIVE_TRYLOCK_FUNCTION(
true);
79 PW_EXCLUSIVE_TRYLOCK_FUNCTION(
true) {
80 return impl().try_lock_for(timeout);
83 [[nodiscard]]
bool try_lock_until(chrono::SystemClock::time_point deadline)
84 PW_EXCLUSIVE_TRYLOCK_FUNCTION(
true) {
85 return impl().try_lock_until(deadline);
91#include "pw_sync_backend/timed_mutex_inline.h"
105 PW_NO_LOCK_SAFETY_ANALYSIS;
109 PW_NO_LOCK_SAFETY_ANALYSIS;
114 PW_NO_LOCK_SAFETY_ANALYSIS;
120 PW_NO_LOCK_SAFETY_ANALYSIS;
124 PW_NO_LOCK_SAFETY_ANALYSIS;
Definition: virtual_basic_lockable.h:108
Definition: timed_mutex.h:43
bool try_lock_for(chrono::SystemClock::duration timeout)
bool try_lock_until(chrono::SystemClock::time_point deadline)
Definition: timed_mutex.h:74
std::chrono::duration< rep, period > duration
Alias for durations representable with this clock.
Definition: system_clock.h:86
Definition: system_clock.h:224
Definition: system_clock.h:228