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  programs	 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,   but	might  not,  be	 less  or  more	 than  timeout_time  -
       Clock::now() at the time
	  of the call, depending  on  the  direction  of  the  adjustment  and
       whether it is honored
	  by  the  implementation. The function	also may block for longer than
       until after
	  timeout_time has been	reached	due to	scheduling  or	resource  con-
       tention 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)

http://cppreference.com		  2022.07.31	  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.0>

home | help