Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
criticalsection.h
Go to the documentation of this file.
1
2
#pragma once
3
//------------------------------------------------------------------------------
15
#include "
core/config.h
"
16
#if (__WIN32__)
17
#include "
threading/win32/win32criticalsection.h
"
18
namespace
Threading
19
{
20
class
CriticalSection
:
public
Win32::Win32CriticalSection
21
{ };
22
}
23
#elif ( __OSX__ || __APPLE__ || __linux__ )
24
#include "
threading/posix/posixcriticalsection.h
"
25
namespace
Threading
26
{
27
class
CriticalSection
:
public
Posix::PosixCriticalSection
28
{ };
29
}
30
#else
31
#error "Threading::CriticalSection not implemented on this platform!"
32
#endif
33
34
namespace
Threading
35
{
36
struct
CriticalScope
37
{
38
CriticalScope
(Threading::CriticalSection*
section
)
39
:
section
(
section
)
40
{
41
this->section->Enter();
42
}
43
44
~CriticalScope
()
45
{
46
this->
section
->Leave();
47
this->
section
=
nullptr
;
48
}
49
50
Threading::CriticalSection*
section
;
51
};
52
53
}
54
55
//------------------------------------------------------------------------------
56
Posix::PosixCriticalSection
Posix-implementation of critical section.
Definition
posixcriticalsection.h:24
CriticalSection
Critical section objects are used to protect a portion of code from parallel execution.
Win32::Win32CriticalSection
Win32-implementation of critical section.
Definition
win32criticalsection.h:32
config.h
Nebula compiler specific defines and configuration.
Threading
The Jobs2 system provides a set of threads and a pool of jobs from which threads can pickup work.
Definition
jobs2.h:16
posixcriticalsection.h
Threading::CriticalScope::section
Threading::CriticalSection * section
Definition
criticalsection.h:50
Threading::CriticalScope::~CriticalScope
~CriticalScope()
Definition
criticalsection.h:44
Threading::CriticalScope::CriticalScope
CriticalScope(Threading::CriticalSection *section)
Definition
criticalsection.h:38
win32criticalsection.h
code
foundation
threading
criticalsection.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.