MHVLib  20111011
An efficiency oriented runtime library for AVR microcontrollers
A:/eclipse/mhvlib/MHV_Lock.cpp
Go to the documentation of this file.
00001 /*
00002  * MHV_Lock.cpp
00003  *
00004  *  Created on: 26/06/2011
00005  *      Author: deece
00006  */
00007 
00008 #include "MHV_Lock.h"
00009 
00013 MHV_Lock::MHV_Lock() {
00014         _lock = false;
00015 }
00016 
00021 bool MHV_Lock::obtain() {
00022         ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
00023                 if (!_lock) {
00024                         _lock = true;
00025                         return true;
00026                 }
00027         }
00028         return false;
00029 }
00030 
00034 void MHV_Lock::release() {
00035         ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
00036                 _lock = false;
00037         }
00038 }
00039 
00044 bool MHV_Lock::check() {
00045         return _lock;
00046 }