Annotation of parser3/src/targets/isapi/pa_threads.C, revision 1.7

1.1       parser      1: /** @file
                      2:        Parser: zero Mutex realization class.
                      3: 
1.7     ! paf         4:        Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
1.5       paf         5:        Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
1.1       parser      6: 
1.7     ! paf         7:        $Id: pa_threads.C,v 1.6 2002/01/21 12:10:09 paf Exp $
1.1       parser      8: */
                      9: 
                     10: #include "pa_threads.h"
1.4       paf        11: 
                     12: /// @test really?
1.6       paf        13: const bool parser_multithreaded=true;
                     14: 
                     15: pa_thread_t pa_get_thread_id() {
                     16:        return GetThreadID();
                     17: }
1.1       parser     18: 
                     19: Mutex global_mutex;
                     20: 
1.6       paf        21: Mutex::Mutex() :
                     22:        handle(static_cast<uint>(CreateMutex(NULL, FALSE, 0))) {
1.1       parser     23: }
                     24: 
                     25: Mutex::~Mutex() {
1.6       paf        26:        CloseHandle(static_cast<HANDLE>(handle));
1.1       parser     27: }
                     28: 
                     29: void Mutex::acquire() {
1.6       paf        30:     WaitForSingleObject(static_cast<HANDLE>(handle), INFINITE);
1.1       parser     31: }
                     32: 
                     33: void Mutex::release() {
1.6       paf        34:     ReleaseMutex(static_cast<HANDLE>(handle));
1.1       parser     35: }

E-mail: