X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/greenlet
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
greenlet
/
ðŸ“
..
📄
CObjects.cpp
(3.43 KB)
📄
PyGreenlet.cpp
(22.89 KB)
📄
PyGreenlet.hpp
(1.43 KB)
📄
PyGreenletUnswitchable.cpp
(4.27 KB)
📄
PyModule.cpp
(8.39 KB)
📄
TBrokenGreenlet.cpp
(1021 B)
📄
TExceptionState.cpp
(1.33 KB)
📄
TGreenlet.cpp
(25.13 KB)
📄
TGreenlet.hpp
(27.39 KB)
📄
TGreenletGlobals.cpp
(3.19 KB)
📄
TMainGreenlet.cpp
(3.2 KB)
📄
TPythonState.cpp
(15.41 KB)
📄
TStackState.cpp
(7.21 KB)
📄
TThreadState.hpp
(18.68 KB)
📄
TThreadStateCreator.hpp
(2.55 KB)
📄
TThreadStateDestroy.cpp
(7.98 KB)
📄
TUserGreenlet.cpp
(23 KB)
📄
__init__.py
(1.68 KB)
ðŸ“
__pycache__
📄
_greenlet.cpython-312-x86_64-linux-gnu.so
(1.38 MB)
📄
greenlet.cpp
(10.74 KB)
📄
greenlet.h
(4.64 KB)
📄
greenlet_allocator.hpp
(1.54 KB)
📄
greenlet_compiler_compat.hpp
(4.24 KB)
📄
greenlet_cpython_compat.hpp
(3.97 KB)
📄
greenlet_exceptions.hpp
(4.4 KB)
📄
greenlet_internal.hpp
(2.65 KB)
📄
greenlet_refs.hpp
(33.63 KB)
📄
greenlet_slp_switch.hpp
(3.12 KB)
📄
greenlet_thread_support.hpp
(867 B)
ðŸ“
platform
📄
slp_platformselect.h
(3.75 KB)
ðŸ“
tests
Editing: TExceptionState.cpp
#ifndef GREENLET_EXCEPTION_STATE_CPP #define GREENLET_EXCEPTION_STATE_CPP #include <Python.h> #include "TGreenlet.hpp" namespace greenlet { ExceptionState::ExceptionState() { this->clear(); } void ExceptionState::operator<<(const PyThreadState *const tstate) noexcept { this->exc_info = tstate->exc_info; this->exc_state = tstate->exc_state; } void ExceptionState::operator>>(PyThreadState *const tstate) noexcept { tstate->exc_state = this->exc_state; tstate->exc_info = this->exc_info ? this->exc_info : &tstate->exc_state; this->clear(); } void ExceptionState::clear() noexcept { this->exc_info = nullptr; this->exc_state.exc_value = nullptr; #if !GREENLET_PY311 this->exc_state.exc_type = nullptr; this->exc_state.exc_traceback = nullptr; #endif this->exc_state.previous_item = nullptr; } int ExceptionState::tp_traverse(visitproc visit, void* arg) noexcept { Py_VISIT(this->exc_state.exc_value); #if !GREENLET_PY311 Py_VISIT(this->exc_state.exc_type); Py_VISIT(this->exc_state.exc_traceback); #endif return 0; } void ExceptionState::tp_clear() noexcept { Py_CLEAR(this->exc_state.exc_value); #if !GREENLET_PY311 Py_CLEAR(this->exc_state.exc_type); Py_CLEAR(this->exc_state.exc_traceback); #endif } }; // namespace greenlet #endif // GREENLET_EXCEPTION_STATE_CPP
Upload File
Create Folder