Loading [MathJax]/extensions/tex2jax.js
Mantid
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
w
x
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Properties
a
b
e
f
i
l
m
o
s
t
u
w
Related Functions
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Variables
_
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
e
f
k
l
o
p
r
s
t
v
w
Macros
a
b
c
d
e
f
g
i
k
l
m
n
p
q
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Loading...
Searching...
No Matches
Framework
PythonInterface
core
inc
MantidPythonInterface
core
GlobalInterpreterLock.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2012 ISIS Rutherford Appleton Laboratory UKRI,
4
// NScD Oak Ridge National Laboratory, European Spallation Source,
5
// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6
// SPDX - License - Identifier: GPL - 3.0 +
7
#pragma once
8
9
#include "
MantidPythonInterface/core/DllConfig.h
"
10
#include "
MantidPythonInterface/core/WrapPython.h
"
11
12
namespace
Mantid
{
13
namespace
PythonInterface {
14
15
struct
MANTID_PYTHONINTERFACE_CORE_DLL
GILState
{
16
PyGILState_STATE
m_state
;
17
};
18
23
class
MANTID_PYTHONINTERFACE_CORE_DLL
GlobalInterpreterLock
{
24
public
:
28
static
bool
locked();
30
static
PyGILState_STATE acquire();
32
static
void
release(PyGILState_STATE tstate);
34
36
GlobalInterpreterLock
();
38
~GlobalInterpreterLock
();
39
40
private
:
41
GlobalInterpreterLock
(
const
GlobalInterpreterLock
&);
43
PyGILState_STATE
m_state
;
44
};
45
46
}
// namespace PythonInterface
47
}
// namespace Mantid
WrapPython.h
Mantid::PythonInterface::GlobalInterpreterLock
Defines a structure for acquiring/releasing the Python GIL using the RAII pattern.
Definition:
GlobalInterpreterLock.h:23
Mantid::PythonInterface::GlobalInterpreterLock::GlobalInterpreterLock
GlobalInterpreterLock(const GlobalInterpreterLock &)
Mantid::PythonInterface::GlobalInterpreterLock::m_state
PyGILState_STATE m_state
Current GIL state.
Definition:
GlobalInterpreterLock.h:43
DllConfig.h
MANTID_PYTHONINTERFACE_CORE_DLL
#define MANTID_PYTHONINTERFACE_CORE_DLL
Definition:
DllConfig.h:17
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition:
AbsorptionCorrection.h:18
Mantid::PythonInterface::GILState
Definition:
GlobalInterpreterLock.h:15
Mantid::PythonInterface::GILState::m_state
PyGILState_STATE m_state
Definition:
GlobalInterpreterLock.h:16
Generated on Tue Jan 3 2023 11:57:58 for Mantid by
1.9.5