Annotation of parser3/src/targets/isapi/pa_threads.C, revision 1.23
1.1 parser 1: /** @file
2: Parser: zero Mutex realization class.
3:
1.22 moko 4: Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com)
1.8 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.11 paf 6: */
1.1 parser 7:
1.19 moko 8: #include "pa_threads.h"
1.1 parser 9:
1.23 ! moko 10: volatile const char * IDENT_PA_THREADS_C="$Id: pa_threads.C,v 1.22 2017/02/07 22:00:45 moko Exp $" IDENT_PA_THREADS_H;
1.4 paf 11:
1.9 paf 12: #include <windows.h>
13:
1.6 paf 14: pa_thread_t pa_get_thread_id() {
1.9 paf 15: return GetCurrentThreadId();
1.6 paf 16: }
1.1 parser 17:
18: Mutex global_mutex;
19:
1.6 paf 20: Mutex::Mutex() :
1.9 paf 21: handle(reinterpret_cast<uint>(CreateMutex(NULL, FALSE, 0))) {
1.1 parser 22: }
23:
24: Mutex::~Mutex() {
1.9 paf 25: CloseHandle(reinterpret_cast<HANDLE>(handle));
1.1 parser 26: }
27:
28: void Mutex::acquire() {
1.9 paf 29: WaitForSingleObject(reinterpret_cast<HANDLE>(handle), INFINITE);
1.1 parser 30: }
31:
32: void Mutex::release() {
1.9 paf 33: ReleaseMutex(reinterpret_cast<HANDLE>(handle));
1.1 parser 34: }
E-mail: