InterlockedOr function
Performs an atomic OR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously.
Syntax
LONG __cdecl InterlockedOr(
_Inout_ LONG volatile *Destination,
_In_ LONG Value
);
Parameters
- Destination [in, out]
-
A pointer to the first operand. This value will be replaced with the result of the operation.
- Value [in]
-
The second operand.
Return value
The function returns the original value of the Destination parameter.
Remarks
The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. This function is atomic with respect to calls to other interlocked functions.
For the Intel Itanium-based systems and x64 architectures, this function is implemented using the compiler intrinsic. For the x86 architecture, use the _InterlockedOr compiler intrinsic directly.
This function generates a full memory barrier (or fence) to ensure that memory operations are completed in order.
Itanium-based systems: For performance-critical applications, use InterlockedOrAcquire or InterlockedOrRelease instead.
Note
Requirements
|
Header |
|
|---|
See also
- Interlocked Variable Access
- InterlockedOrAcquire
- InterlockedOrRelease
- InterlockedOrNoFence
- InterlockedOr8
- InterlockedOr8Acquire
- InterlockedOr8Release
- InterlockedOr8NoFence
- InterlockedOr16
- InterlockedOr16Acquire
- InterlockedOr16Release
- InterlockedOr16NoFence
- InterlockedOr64
- InterlockedOr64Acquire
- InterlockedOr64Release
- InterlockedOr64NoFence
- Synchronization Functions