Annotation of parser3/src/targets/isapi/pa_threads.C, revision 1.6
1.1 parser 1: /** @file
2: Parser: zero Mutex realization class.
3:
4: Copyright (c) 2001 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.6 ! paf 7: $Id: pa_threads.C,v 1.5 2001/11/05 11:46:30 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: