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
(23.63 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.85 KB)
??
TGreenletGlobals.cpp
(3.19 KB)
??
TMainGreenlet.cpp
(3.2 KB)
??
TPythonState.cpp
(15.6 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
(2.55 KB)
??
greenlet_compiler_compat.hpp
(4.24 KB)
??
greenlet_cpython_compat.hpp
(4.05 KB)
??
greenlet_exceptions.hpp
(4.4 KB)
??
greenlet_internal.hpp
(2.65 KB)
??
greenlet_msvc_compat.hpp
(2.91 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.87 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