Forwards signals from one 'conditionVariable' to another.
Details
The condition value of cv
is initially reset to zero when this operator
returns. Only one forwarder can be active on a cv
at any given time, and
assigning a new forwarding target cancels any currently existing forwarding.
Changes in the condition value of cv
are forwarded to cv2
, but only on
each occassion cv
is signalled. This means that waiting on cv
will cause
a temporary divergence between the actual condition value of cv
and that
recorded at cv2
, until the next time cv
is signalled.