std::unique_lock::try_lock_until

From cppreference.com
template< class Clock, class Duration >
bool try_lock_until( const std::chrono::time_point<Clock,Duration>& timeout_time );
(since C++11)

Tries to lock the associated mutex. Blocks until specified timeout_time has been reached or the lock is acquired, whichever comes first. On successful lock acquisition returns true, otherwise returns false. May block for longer than until timeout_time has been reached.

Effectively calls mutex()->try_lock_until(timeout_time)

std::system_error is thrown if there is no associated mutex or if the mutex is already locked.

Contents

[edit] Parameters

timeout_time - maximum time point to block until

[edit] Return value

true if the ownership of the mutex has been acquired successfully, false otherwise.

[edit] Exceptions

  • Any exceptions thrown by mutex()->try_lock_for(timeout_time)
  • If there is no associated mutex, std::system_error with an error code of std::errc::operation_not_permitted
  • If the mutex is already locked, std::system_error with an error code of std::errc::resource_deadlock_would_occur

[edit] Example

[edit] See also

locks the associated mutex
(public member function)
tries to lock the associated mutex, returns if the mutex is not available
(public member function)
attempts to lock the associated TimedLockable mutex, returns if the
mutex has been unavailable for the specified time duration
(public member function)
unlocks the associated mutex
(public member function)