drivers/can_ixxat_win32/autoreleasecs.h
author lbessard
Wed, 08 Aug 2007 14:55:15 +0200
changeset 254 f2b0acb54e65
parent 252 b0dd37421d28
child 255 7b9f36dbfe5f
permissions -rw-r--r--
Cleaning code for using only wxPython 2.6 class naming
Adding sizers to all dialogs
252
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     1
// Critical Section Autorelease
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     2
// Tochinski Leonid, Chatten Associates, Inc. 2007
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     3
#pragma once
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     4
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     5
class AutoReleaseCS
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     6
   {
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     7
   public:
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     8
      AutoReleaseCS(CRITICAL_SECTION& cs) : m_cs(cs)
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
     9
         {
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    10
         ::EnterCriticalSection(&m_cs);
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    11
         }
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    12
      ~AutoReleaseCS()
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    13
         {
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    14
         ::LeaveCriticalSection(&m_cs);
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    15
         }
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    16
      CRITICAL_SECTION& m_cs;
b0dd37421d28 *** empty log message ***
leonid
parents:
diff changeset
    17
   };