P99

◆ P99_CM_EXCLUDE

#define P99_CM_EXCLUDE (   CMP)    P00_CM_EXCLUDE(CMP, P99_UNIQ(cm))

Protect the following block or statement as a critical section of the program by using CMP as a condition-mutex.

Parameters
CMPis an expression that evaluates to a pointer to p99_cm. The cm is used as a condition-mutex, so this is an inactive wait.
Remarks
CMP is only evaluated once at the beginning, so it would be safe to change it in the depending block or statement.
Warning
Such a section should not contain preliminary exits such as goto, break, return, longjmp, or P99_UNWIND etc.
See also
P99_MUTUAL_EXCLUDE that uses a standard ::mtx_t

Definition at line 213 of file p99_cm.h.