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

FreeBSD Manual Pages

  
 
  

home | help
std::shared...hared_until(3)  C++ Standard Libary std::shared...hared_until(3)

NAME
       std::shared_timed_mutex::try_lock_shared_until  - std::shared_timed_mu-
       tex::try_lock_shared_until

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

	  Tries	to lock	the mutex in shared mode. Blocks until specified time-
       out_time	has been
	  reached  or the lock is acquired, whichever comes first. On success-
       ful lock
	  acquisition returns true, otherwise returns false.

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

	  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_shared(), this function is	allowed	to fail	spuri-
       ously 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_shared_until is called by	a thread that already owns the
       mutex in	any
	  mode (shared or exclusive), the behavior is undefined.

Parameters
	  timeout_time - maximum time point to block until

Return value
	  true	if the shared lock ownership was acquired successfully,	other-
       wise false.

Exceptions
	  Any exception	thrown by clock, time_point, or	 duration  during  the
       execution (clocks,
	  time	points,	 and  durations	provided by the	standard library never
       throw).

Example
	   This	section	is incomplete
	   Reason: no example

See also
			      tries to lock the	mutex, returns	if  the	 mutex
       has been
	  try_lock_until       unavailable until specified time	point has been
       reached
			      (public member function)
			      tries to lock the	mutex  for  shared  ownership,
       returns if the
	  try_lock_shared     mutex is not available
			      (public member function)
			      tries  to	 lock  the mutex for shared ownership,
       returns if the
	  try_lock_shared_for mutex has	been
			      unavailable for the specified timeout duration
			      (public member function)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	  std::shared...hared_until(3)

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

home | help