ports/cad/prusaslicer/patches/patch-src_libslic3r_Thread_cpp

48 lines
1 KiB
Text

Index: src/libslic3r/Thread.cpp
--- src/libslic3r/Thread.cpp.orig
+++ src/libslic3r/Thread.cpp
@@ -6,6 +6,10 @@
#include <pthread.h>
#endif
+#ifdef __OpenBSD__
+ #include <pthread_np.h>
+#endif
+
#include <atomic>
#include <condition_variable>
#include <mutex>
@@ -155,6 +159,33 @@ std::optional<std::string> get_current_thread_name()
// char buf[16];
// return std::string(thread_getname_np(buf, 16) == 0 ? buf : "");
return std::nullopt;
+}
+
+#elif __OpenBSD__
+
+bool set_thread_name(std::thread &thread, const char *thread_name)
+{
+ pthread_set_name_np(thread.native_handle(), thread_name);
+ return true;
+}
+
+bool set_thread_name(boost::thread &thread, const char *thread_name)
+{
+ pthread_set_name_np(thread.native_handle(), thread_name);
+ return true;
+}
+
+bool set_current_thread_name(const char *thread_name)
+{
+ pthread_set_name_np(pthread_self(), thread_name);
+ return true;
+}
+
+std::optional<std::string> get_current_thread_name()
+{
+ char buf[16];
+ pthread_get_name_np(pthread_self(), buf, 16);
+ return std::string(buf);
}
#else