Skip to content

timed_wait_conditionTimedWaitConditionTimedWaitConditiontimed_wait_conditionT_timed_wait_condition🔗

Short description🔗

timed_wait_conditionTimedWaitConditionTimedWaitConditiontimed_wait_conditionT_timed_wait_condition — Bounded wait on the signal of a condition synchronization object.

Signature🔗

timed_wait_condition( condition ConditionHandle, mutex MutexHandle, number Timeout )void TimedWaitCondition( const HTuple& ConditionHandle, const HTuple& MutexHandle, const HTuple& Timeout )static void HOperatorSet.TimedWaitCondition( HTuple conditionHandle, HTuple mutexHandle, HTuple timeout )def timed_wait_condition( condition_handle: HHandle, mutex_handle: HHandle, timeout: int ) -> None

Herror T_timed_wait_condition( const Htuple ConditionHandle, const Htuple MutexHandle, const Htuple Timeout )

void HCondition::TimedWaitCondition( const HMutex& MutexHandle, Hlong Timeout ) const

void HCondition.TimedWaitCondition( HMutex mutexHandle, int timeout )

Description🔗

timed_wait_conditionTimedWaitCondition atomically unlocks MutexHandlemutexHandlemutex_handle and waits on ConditionHandleconditionHandlecondition_handle, as wait_conditionWaitCondition does, but it also bounds the duration of the wait. If ConditionHandleconditionHandlecondition_handle has not been signaled within the amount of time specified by Timeouttimeouttimeout in micro seconds, the mutex MutexHandlemutexHandlemutex_handle is re-acquired and timed_wait_conditionTimedWaitCondition returns the error H_ERR_TIMEOUT.

Using negative values for Timeouttimeouttimeout means an infinite waiting time.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

ConditionHandleconditionHandlecondition_handle (input_control) condition → (handle)HTuple (HHandle)HCondition, HTuple (IntPtr)HHandleHtuple (handle)

Condition synchronization object.

MutexHandlemutexHandlemutex_handle (input_control) mutex → (handle)HTuple (HHandle)HMutex, HTuple (IntPtr)HHandleHtuple (handle)

Mutex synchronization object.

Timeouttimeouttimeout (input_control) number → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Timeout in micro seconds.

Result🔗

timed_wait_conditionTimedWaitCondition returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised. If a timeout occurs, the error H_ERR_TIMEOUT is raised.

Combinations with other operators🔗

Combinations

Possible successors

signal_conditionSignalCondition, clear_conditionClearCondition

Module🔗

Foundation