next up previous contents index
Next: (X86) Generic Low-level Definitions Up: 10.2 Machine-independent Facilities Previous: 10.2.4 debug.h: debugging support

10.2.5 base_critical: simple critical section support

       

SYNOPSIS

#include <oskit/base_critical.h>

void base_critical_enter(void);

void base_critical_leave(void);

DESCRIPTION

Functions to implements a simple ``global critical region.'' These functions are used throughout the OSKit to ensure proper serialization for various ``touchy'' but non-performance critical activities such as panicing, rebooting, debugging, etc. This critical region can safely be entered recursively; the only requirement is that enters match exactly with leaves.

The implementation of this module is machine-dependent, and generally disables interrupts and, on multiprocessors, grabs a recursive spin lock.



University of Utah Flux Research Group