Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::timed_..._lock_until(3)  C++ Standard Libary std::timed_..._lock_until(3)

NAME
       std::timed_mutex::try_lock_until	- std::timed_mutex::try_lock_until

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

	  Tries	 to  lock  the	mutex. Blocks until specified timeout_time has
       been reached
	  (timeout) or the lock	is acquired (owns the mutex), whichever	 comes
       first. On
	  successful lock acquisition returns true, otherwise returns false.

	  If  timeout_time  has	 already  passed,  this	 function behaves like
       try_lock().

	  Clock	must meet the Clock requirements.
	  The  program	is  ill-formed	if  std::chrono::is_clock_v<Clock>  is
       false.
	  (since C++20)

	  The standard recommends that the clock tied to timeout_time be used,
       in which	case
	  adjustments  of the clock may	be taken into account. Thus, the dura-
       tion of the block
	  might	be more	or less	than timeout_time - Clock::now() at  the  time
       of the call,
	  depending  on	the direction of the adjustment	and whether it is hon-
       ored by the
	  implementation. The function also may	block until after timeout_time
       has been
	  reached due to process scheduling or resource	contention delays.

	  As with try_lock(), this function is allowed to fail spuriously  and
       return false
	  even	if  the	mutex was not locked by	any other thread at some point
       before
	  timeout_time.

	  Prior	unlock() operation on the same mutex synchronizes-with (as de-
       fined in
	  std::memory_order) this operation if it returns true.

	  If try_lock_until is called by a thread that already owns the	mutex,
       the behavior is
	  undefined.

Parameters
	  timeout_time - maximum time point to block until

Return value
	  true if the lock was acquired	successfully, otherwise	false.

Exceptions
	  Any exception	thrown by timeout_time (clocks,	time points, and dura-
       tions provided by
	  the standard library never throw).

Example
	   This	section	is incomplete
	   Reason: no example

	 Defect	reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	   Applied to	 Behavior as published		   Correct be-
       havior
	  LWG 2093 C++11      try_lock_until threw nothing throws  timeout-re-
       lated exceptions

See also
	  lock	       locks the mutex,	blocks if the mutex is not available
		       (public member function)
	  try_lock	tries  to  lock	the mutex, returns if the mutex	is not
       available
		       (public member function)
		       tries to	lock the mutex,	returns	if the mutex has been
	  try_lock_for unavailable for the specified timeout duration
		       (public member function)
	  unlock       unlocks the mutex
		       (public member function)
	  C documentation for
	  mtx_timedlock

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	  std::timed_..._lock_until(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::timed_mutex::try_lock_until&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help