Mantid
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