drivers/can_ixxat_win32/autoreleasecs.h
author leonid
Wed, 08 Aug 2007 01:43:02 +0200
changeset 252 b0dd37421d28
child 255 7b9f36dbfe5f
permissions -rw-r--r--
*** empty log message ***
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
   };