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

include/sys/critsec.h File Reference

Interface: kernel level critical sections. More...

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

Include dependency graph for critsec.h:

Include dependency graph

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

Included by dependency graph

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 39 of file critsec.h.


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

Generated on Mon Feb 16 21:01:16 2004 for brickOS Kernel Developer by doxygen 1.3.5