Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
CriticalSectionRecursiveMutex.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_h_
5#define _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_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#Alpha">Alpha</a>
20 *
21 */
22
24
25 /**
26 * (reason is to test if perofrmance better than msvc mutex)
27 */
29 public:
32
33 public:
35
36 public:
37 nonvirtual CriticalSectionRecursiveMutex& operator= (const CriticalSectionRecursiveMutex&) = delete;
38
39 public:
40 nonvirtual void lock ();
41 nonvirtual void unlock ();
42
43 private:
44 CRITICAL_SECTION fCritSec_;
45 };
46
47}
48
49/*
50 ********************************************************************************
51 ***************************** Implementation Details ***************************
52 ********************************************************************************
53 */
54#include "CriticalSectionRecursiveMutex.inl"
55
56#endif /*_Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_h_*/