PATH:
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
greenlet
#ifndef GREENLET_THREAD_SUPPORT_HPP #define GREENLET_THREAD_SUPPORT_HPP /** * Defines various utility functions to help greenlet integrate well * with threads. This used to be needed when we supported Python * 2.7 on Windows, which used a very old compiler. We wrote an * alternative implementation using Python APIs and POSIX or Windows * APIs, but that's no longer needed. So this file is a shadow of its * former self --- but may be needed in the future. */ #include <stdexcept> #include <thread> #include <mutex> #include "greenlet_compiler_compat.hpp" namespace greenlet { typedef std::mutex Mutex; typedef std::lock_guard<Mutex> LockGuard; class LockInitError : public std::runtime_error { public: LockInitError(const char* what) : std::runtime_error(what) {}; }; }; #endif /* GREENLET_THREAD_SUPPORT_HPP */
[-] greenlet_internal.hpp
[edit]
[+]
__pycache__
[-] greenlet_thread_support.hpp
[edit]
[-] TThreadStateCreator.hpp
[edit]
[-] PyModule.cpp
[edit]
[-] TPythonState.cpp
[edit]
[-] TGreenletGlobals.cpp
[edit]
[-] greenlet_msvc_compat.hpp
[edit]
[-] greenlet.cpp
[edit]
[+]
platform
[-] PyGreenletUnswitchable.cpp
[edit]
[-] _greenlet.cpython-312-x86_64-linux-gnu.so
[edit]
[-] __init__.py
[edit]
[-] TThreadStateDestroy.cpp
[edit]
[-] TBrokenGreenlet.cpp
[edit]
[-] greenlet_exceptions.hpp
[edit]
[-] TExceptionState.cpp
[edit]
[+]
..
[-] TGreenlet.hpp
[edit]
[-] PyGreenlet.hpp
[edit]
[-] greenlet_refs.hpp
[edit]
[-] PyGreenlet.cpp
[edit]
[-] greenlet_allocator.hpp
[edit]
[-] TThreadState.hpp
[edit]
[-] greenlet.h
[edit]
[-] greenlet_compiler_compat.hpp
[edit]
[-] TUserGreenlet.cpp
[edit]
[-] TGreenlet.cpp
[edit]
[+]
tests
[-] slp_platformselect.h
[edit]
[-] TStackState.cpp
[edit]
[-] TMainGreenlet.cpp
[edit]
[-] greenlet_slp_switch.hpp
[edit]
[-] CObjects.cpp
[edit]
[-] greenlet_cpython_compat.hpp
[edit]