CriticalSection.cpp

Go to the documentation of this file.
00001 /*
00002 *        This file contains class that encapsulate system critical section.
00003 *
00004 *       Author:
00005 *                       Tomas Mrkvicka
00006 *                       xmrkvi03@stud.fit.vutbr.cz
00007 *
00008 */
00009 
00010 #include "pipeline/CriticalSection.h"
00011 
00012 ////////////////////////////////////////////////////////////////////////////////
00013 ////////////////////////////////////////////////////////////////////////////////
00014 ////////////////////////////////////////////////////////////////////////////////
00015 // TCriticalSection
00016 
00017 /** Konstruktor.
00018 *
00019 *       Inicializuje kritickou sekci.
00020 */
00021 TCriticalSection::TCriticalSection(void)
00022 {
00023         InitializeCriticalSection(&m_section);
00024 }
00025 //OK 2007-08-25 02:21:09 B04-315B\Tom
00026 
00027 /** Destruktor.
00028 *
00029 *       Zrusi kritickou sekci.
00030 */
00031 TCriticalSection::~TCriticalSection(void)
00032 {
00033         DeleteCriticalSection(&m_section);
00034 }
00035 //OK 2007-08-25 02:21:11 B04-315B\Tom
00036 
00037 /** Vstup do kriticke sekce.
00038 *
00039 *       Volani metody je blokujici az do vstupu do kriticke sekce.
00040 *       Tj. pokud jiz jine vlakno zavolalo tuto metodu na tomto objektu
00041 *       pak ostatni vlakna musi cekat.
00042 */
00043 void TCriticalSection::Enter(void)
00044 {
00045         EnterCriticalSection(&m_section);
00046 }
00047 //OK 2007-08-25 02:21:14 B04-315B\Tom
00048 
00049 /** Uvolneni kriticke sekce.
00050 *
00051 *       Metoda smi byt volana pouze po zavolani metody Enter (po vstupu do sekce).
00052 *       Zaroven odblokuje ostatni vlakna ktera pristupuji k teto kriticke sekci.
00053 */
00054 void TCriticalSection::Leave(void)
00055 {
00056         LeaveCriticalSection(&m_section);
00057 }
00058 //OK 2007-08-25 02:21:42 B04-315B\Tom
00059 
00060 // TCriticalSection
00061 ////////////////////////////////////////////////////////////////////////////////
00062 ////////////////////////////////////////////////////////////////////////////////
00063 ////////////////////////////////////////////////////////////////////////////////

Generated on Sat Nov 17 16:23:26 2007 for Image Processing Pipeline by  doxygen 1.4.6-NO