Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

critsec.h File Reference

Interface: kernel level critical sections. More...

#include <config.h>
#include <atomic.h>

Include dependency graph for critsec.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define __sys_critsec_h__
#define INITIALIZE_KERNEL_CRITICAL_SECTION()   kernel_critsec_count=0
#define ENTER_KERNEL_CRITICAL_SECTION()   atomic_inc(&kernel_critsec_count)
#define LEAVE_KERNEL_CRITICAL_SECTION()   atomic_dec(&kernel_critsec_count)
#define DESTROY_KERNEL_CRITICAL_SECTION()

Variables

atomic_t kernel_critsec_count
 critical section counter for kernel/task manager


Detailed Description

Interface: kernel level critical sections.

Author:
Joseph A. Woolley <jawoolley@users.sourceforge.net>
Defines types and functions used for kernel level critical sections.

Definition in file critsec.h.


Define Documentation

#define __sys_critsec_h__
 

Definition at line 29 of file critsec.h.

 
#define DESTROY_KERNEL_CRITICAL_SECTION  ) 
 

Definition at line 43 of file critsec.h.

 
#define ENTER_KERNEL_CRITICAL_SECTION  )     atomic_inc(&kernel_critsec_count)
 

Definition at line 41 of file critsec.h.

 
#define INITIALIZE_KERNEL_CRITICAL_SECTION  )     kernel_critsec_count=0
 

Definition at line 40 of file critsec.h.

 
#define LEAVE_KERNEL_CRITICAL_SECTION  )     atomic_dec(&kernel_critsec_count)
 

Definition at line 42 of file critsec.h.


Variable Documentation

atomic_t kernel_critsec_count
 

critical section counter for kernel/task manager

when the critical section counter is Zero, task swapping is allowed. when greater than zero, task swapping is not allowed. This is checked in the task_switch_handler() in systime.c

Definition at line 17 of file critsec.c.


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2005 by the authors.

Generated on Fri Apr 15 03:38:32 2005 for brickOS Kernel Developer by doxygen 1.4.2