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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::shared_lock::try_lock_for -	std::shared_lock::try_lock_for

Synopsis
	  template< class Rep, class Period >
	  bool	  try_lock_for(	   const    std::chrono::duration<Rep,Period>&
       (since C++14)
	  timeout_duration );

	  Tries	to lock	the associated mutex  in  shared  mode.	 Blocks	 until
       specified
	  timeout_duration  has	 elapsed  or  the  lock	is acquired, whichever
       comes first. On
	  successful lock acquisition returns true, otherwise  returns	false.
       Effectively calls
	  mutex()->try_lock_shared_for(timeout_duration).

	  This	function  may  block  for  longer than timeout_duration	due to
       scheduling or
	  resource contention delays.

	  The standard recommends that a steady	clock is used to  measure  the
       duration. If an
	  implementation  uses	a system clock instead,	the wait time may also
       be sensitive to
	  clock	adjustments.

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

	  The  behavior	 is  undefined if Mutex	does not meet the SharedTimed-
       Lockable
	  requirements.

Parameters
	  timeout_duration - maximum duration to block for

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

Exceptions
	    *  Any  exceptions	thrown	by  mutex()->try_lock_shared_for(time-
       out_duration)

	    * 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

Example
	   This	section	is incomplete
	   Reason: no example

See also
			 attempts to lock (i.e., takes ownership of) the asso-
       ciated
	  try_lock_for	  TimedLockable	 mutex,	 returns if the	mutex has been
       unavailable for
			 the specified time duration
			 (public member	function of std::unique_lock<Mutex>)
	  lock		 locks the associated mutex
			 (public member	function)
	  try_lock	 tries to lock the associated mutex
			 (public member	function)
	  try_lock_until tries to lock the associated mutex, until a specified
       time point
			 (public member	function)
	  unlock	 unlocks the associated	mutex
			 (public member	function)

http://cppreference.com		  2022.07.31	  std::shared...ry_lock_for(3)

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

home | help