11#if __has_include("defs.h")
14#include "safe_winsock.h"
30 virtual void enter ();
32 virtual void leave ();
35 std::shared_ptr<CRITICAL_SECTION> section;
85 auto sect =
new CRITICAL_SECTION;
86 InitializeCriticalSection (sect);
87 section = std::shared_ptr<CRITICAL_SECTION> (sect, DeleteCriticalSection);
93 EnterCriticalSection (section.get());
99 return (TryEnterCriticalSection (section.get()) != 0);
105 LeaveCriticalSection (section.get());
115 : section (t.section)
Lightweight inter-thread synchronization.
Definition critsect.h:27
virtual bool try_enter()
Return true if critical section was entered.
Definition critsect.h:97
criticalsection()
Initializes critical section object.
Definition critsect.h:83
virtual void enter()
Enter critical section.
Definition critsect.h:91
virtual void leave()
Leave critical section.
Definition critsect.h:103
lock(criticalsection &cs)
Acquire critical section.
Definition critsect.h:108
~lock()
Leave critical section.
Definition critsect.h:120