Index: src/libslic3r/Thread.cpp --- src/libslic3r/Thread.cpp.orig +++ src/libslic3r/Thread.cpp @@ -6,6 +6,10 @@ #include #endif +#ifdef __OpenBSD__ + #include +#endif + #include #include #include @@ -155,6 +159,33 @@ std::optional 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 get_current_thread_name() +{ + char buf[16]; + pthread_get_name_np(pthread_self(), buf, 16); + return std::string(buf); } #else