Since the guard operates in an interrupt-driven context,
its queue operations need to be synchronized. This happens
in an interrupt-transparent manner. A queuing strategy has
been implemented that enables the dequeue operation, in
order to run delayed epilogues upon leaving a guarded section,
to be overlapped by enqueue operations issued by an
interrupt handler (i.e. prologue). In addition, enqueue operations
are allowed to overlap themselves, e.g. when a highpriority
interrupt handler preempts a low-priority interrupt
handler. All necessary synchronization measures run with
interrupts enabled. Other overlapping scenarios need not be
considered.