Stroika Library
3.0d16
Help-Home
Loading...
Searching...
No Matches
CriticalSectionMutex.h
1
/*
2
* Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3
*/
4
#ifndef _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionMutex_h_
5
#define _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionMutex_h_ 1
6
7
#include "Stroika/Foundation/StroikaPreComp.h"
8
9
#if qStroika_Foundation_Common_Platform_Windows
10
#include <Windows.h>
11
#else
12
#error "WINDOWS REQUIRED FOR THIS MODULE"
13
#endif
14
15
#include "Stroika/Foundation/Common/Common.h"
16
17
/**
18
*
19
* \note Code-Status: <a href="Code-Status.md#Beta">Beta</a>
20
*
21
*/
22
23
namespace
Stroika::Foundation::Execution::Platform::Windows
{
24
25
/**
26
* (reason is to test if perofrmance better than msvc mutex)
27
*
28
* Note - this is a recursive_mutex!
29
*/
30
class
CriticalSectionMutex
{
31
public
:
32
CriticalSectionMutex
();
33
CriticalSectionMutex
(
const
CriticalSectionMutex
&) =
delete
;
34
35
public
:
36
~CriticalSectionMutex
();
37
38
public
:
39
nonvirtual
CriticalSectionMutex
& operator= (
const
CriticalSectionMutex
&) =
delete
;
40
41
public
:
42
nonvirtual
void
lock ();
43
nonvirtual
void
unlock ();
44
45
private
:
46
CRITICAL_SECTION fCritSec_;
47
};
48
49
}
50
51
/*
52
********************************************************************************
53
***************************** Implementation Details ***************************
54
********************************************************************************
55
*/
56
#include "CriticalSectionMutex.inl"
57
58
#endif
/*_Stroika_Foundation_Execution_Platform_Windows_CriticalSectionMutex_h_*/
Stroika::Foundation::Execution::Platform::Windows::CriticalSectionMutex
Definition
CriticalSectionMutex.h:30
Stroika::Foundation::Execution::Platform::Windows
Definition
COM.h:19
Library
Sources
Stroika
Foundation
Execution
Platform
Windows
CriticalSectionMutex.h
Generated by
1.9.8