Annotation of parser3/src/targets/isapi/pa_threads.C, revision 1.10
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.8 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1 parser 6:
1.10 ! paf 7: $Id: pa_threads.C,v 1.9 2002/03/04 10:03:07 paf Exp $
1.1 parser 8: */
9:
10: #include "pa_threads.h"
1.4 paf 11:
1.9 paf 12: #include <windows.h>
13:
1.6 paf 14: const bool parser_multithreaded=true;
15:
16: pa_thread_t pa_get_thread_id() {
1.9 paf 17: return GetCurrentThreadId();
1.6 paf 18: }
1.1 parser 19:
20: Mutex global_mutex;
21:
1.6 paf 22: Mutex::Mutex() :
1.9 paf 23: handle(reinterpret_cast<uint>(CreateMutex(NULL, FALSE, 0))) {
1.1 parser 24: }
25:
26: Mutex::~Mutex() {
1.9 paf 27: CloseHandle(reinterpret_cast<HANDLE>(handle));
1.1 parser 28: }
29:
30: void Mutex::acquire() {
1.9 paf 31: WaitForSingleObject(reinterpret_cast<HANDLE>(handle), INFINITE);
1.1 parser 32: }
33:
34: void Mutex::release() {
1.9 paf 35: ReleaseMutex(reinterpret_cast<HANDLE>(handle));
1.1 parser 36: }
E-mail: