summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
commit6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch)
treeb1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp
parent4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff)
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp')
-rw-r--r--venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp b/venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp
new file mode 100644
index 0000000..3ded7d2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp
@@ -0,0 +1,31 @@
+#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 */