Alexandria
2.31.0
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
Pyston
Pyston
GIL.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2022 Euclid Science Ground Segment
3
*
4
* This library is free software; you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License as published by the Free
6
* Software Foundation; either version 3.0 of the License, or (at your option)
7
* any later version.
8
*
9
* This library is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12
* details.
13
*
14
* You should have received a copy of the GNU Lesser General Public License
15
* along with this library; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef PYSTON_GIL_H
20
#define PYSTON_GIL_H
21
22
#include <Python.h>
23
24
namespace
Pyston
{
25
29
class
GILLocker
{
30
public
:
31
GILLocker
();
32
33
~GILLocker
();
34
35
static
size_t
getLockCount
();
36
37
protected
:
38
PyGILState_STATE
m_state
;
39
friend
class
GILReleaser
;
40
};
41
45
class
GILReleaser
{
46
public
:
47
explicit
GILReleaser
(PyGILState_STATE& state);
48
49
explicit
GILReleaser
(
GILLocker
&);
50
51
~GILReleaser
();
52
53
protected
:
54
PyGILState_STATE&
m_state
;
55
};
56
57
class
SaveThread
{
58
public
:
59
SaveThread
();
60
61
~SaveThread
();
62
63
protected
:
64
PyThreadState*
m_state
;
65
};
66
67
}
// end of namespace Pyston
68
69
#endif
// PYSTON_GIL_H
Pyston::GILLocker
Definition
GIL.h:29
Pyston::GILLocker::~GILLocker
~GILLocker()
Definition
GIL.cpp:32
Pyston::GILLocker::m_state
PyGILState_STATE m_state
Definition
GIL.h:38
Pyston::GILLocker::getLockCount
static size_t getLockCount()
Definition
GIL.cpp:38
Pyston::GILLocker::GILLocker
GILLocker()
Definition
GIL.cpp:25
Pyston::GILReleaser
Definition
GIL.h:45
Pyston::GILReleaser::~GILReleaser
~GILReleaser()
Definition
GIL.cpp:50
Pyston::GILReleaser::m_state
PyGILState_STATE & m_state
Definition
GIL.h:54
Pyston::SaveThread
Definition
GIL.h:57
Pyston::SaveThread::SaveThread
SaveThread()
Definition
GIL.cpp:55
Pyston::SaveThread::~SaveThread
~SaveThread()
Definition
GIL.cpp:59
Pyston::SaveThread::m_state
PyThreadState * m_state
Definition
GIL.h:64
Pyston
Definition
ExceptionRaiser.h:28
Generated by
1.9.8