shmem_signal_wait_until
Wait for a variable on the local PE to change from a signaling operation.
Definitions
C11 Synopsis
uint64_t shmem_signal_wait_until(uint64_t *sig_addr, int cmp, uint64_t cmp_value);
Arguments
sig_addr Local address of the source signal variable.
cmp The comparison operator that compares sig_addr with cmp_value.
cmp_value The value against which the object pointed to by sig_addr will
be compared.
Description
shmem_signal_wait_until operation blocks until the value contained in the
signal data object, sig_addr, at the calling PE satisfies the wait
condition. In an OpenSHMEM program with single-threaded or multithreaded
PEs, the sig_addr object at the calling PE is expected only to be updated
as a signal, through the signaling operations available in Section 9.8.3
and Section 9.8.4. This routine can be used to implement point-to-point
synchronization between PEs or between threads within the same PE. A call
to this routine blocks until the value of sig_addr at the calling PE
satisfies the wait condition specified by the comparison operator, cmp, and
comparison value, cmp_value
Return Values
Return the contents of the signal data object, sig_addr, at the calling PE
that satisfies the wait condition
Notes
Implementations must ensure that shmem_signal_wait_until do not return
before the update of the memory indicated by sig_addr is fully complete.
Partial updates to the memory must not cause shmem_signal_wait_until to
return.