create_conditionT_create_conditionCreateConditionCreateCondition (Operator)

Name

create_conditionT_create_conditionCreateConditionCreateCondition — Create a condition variable synchronization object.

Signature

create_condition( : : AttribName, AttribValue : ConditionHandle)

Herror T_create_condition(const Htuple AttribName, const Htuple AttribValue, Htuple* ConditionHandle)

void CreateCondition(const HTuple& AttribName, const HTuple& AttribValue, HTuple* ConditionHandle)

void HCondition::HCondition(const HTuple& AttribName, const HTuple& AttribValue)

void HCondition::HCondition(const HString& AttribName, const HString& AttribValue)

void HCondition::HCondition(const char* AttribName, const char* AttribValue)

void HCondition::HCondition(const wchar_t* AttribName, const wchar_t* AttribValue)   (Windows only)

void HCondition::CreateCondition(const HTuple& AttribName, const HTuple& AttribValue)

void HCondition::CreateCondition(const HString& AttribName, const HString& AttribValue)

void HCondition::CreateCondition(const char* AttribName, const char* AttribValue)

void HCondition::CreateCondition(const wchar_t* AttribName, const wchar_t* AttribValue)   (Windows only)

static void HOperatorSet.CreateCondition(HTuple attribName, HTuple attribValue, out HTuple conditionHandle)

public HCondition(HTuple attribName, HTuple attribValue)

public HCondition(string attribName, string attribValue)

void HCondition.CreateCondition(HTuple attribName, HTuple attribValue)

void HCondition.CreateCondition(string attribName, string attribValue)

Description

A condition variable (short: “condition”) is a synchronization device that allows threads to suspend execution and relinquish the processors until some predicate on shared data is satisfied. The basic operations on conditions are: signal the condition (when the predicate becomes true), and wait for the condition, suspending the thread execution until another thread signals the condition.

A condition variable must always be associated with a mutex, to avoid the race condition where a thread prepares to wait on a condition variable and another thread signals the condition just before the first thread actually waits on it.

create_conditioncreate_conditionCreateConditionCreateConditionCreateCondition creates and initializes the condition variable ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle, using the condition attributes specified in AttribNameAttribNameAttribNameAttribNameattribName and AttribValueAttribValueAttribValueAttribValueattribValue, or default attributes if AttribNameAttribNameAttribNameAttribNameattribName is ''"""""""". The current implementation supports no attributes for conditions, hence the AttribNameAttribNameAttribNameAttribNameattribName parameter must be set to ''"""""""".

Execution Information

Parameters

AttribNameAttribNameAttribNameAttribNameattribName (input_control)  number(-array) HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Mutex attribute.

Default value: []

AttribValueAttribValueAttribValueAttribValueattribValue (input_control)  number(-array) HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Mutex attribute value.

Number of elements: AttribValue == AttribName

Default value: []

ConditionHandleConditionHandleConditionHandleConditionHandleconditionHandle (output_control)  condition HCondition, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Condition synchronization object.

Result

create_conditioncreate_conditionCreateConditionCreateConditionCreateCondition returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Possible Successors

wait_conditionwait_conditionWaitConditionWaitConditionWaitCondition, timed_wait_conditiontimed_wait_conditionTimedWaitConditionTimedWaitConditionTimedWaitCondition, signal_conditionsignal_conditionSignalConditionSignalConditionSignalCondition

See also

clear_conditionclear_conditionClearConditionClearConditionClearCondition

Module

Foundation