32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
Index: src/fast_library.cpp
|
|
--- src/fast_library.cpp.orig
|
|
+++ src/fast_library.cpp
|
|
@@ -29,6 +29,11 @@
|
|
#include <sys/endian.h>
|
|
#endif
|
|
|
|
+// For pthread_set_name_np
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
|
|
+#include <pthread_np.h>
|
|
+#endif
|
|
+
|
|
boost::regex regular_expression_cidr_pattern("^\\d+\\.\\d+\\.\\d+\\.\\d+\\/\\d+$");
|
|
boost::regex regular_expression_host_pattern("^\\d+\\.\\d+\\.\\d+\\.\\d+$");
|
|
|
|
@@ -1246,12 +1251,16 @@ bool set_boost_process_name(boost::thread* thread, std
|
|
char new_process_name[16];
|
|
strcpy(new_process_name, process_name.c_str());
|
|
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
|
|
+ pthread_set_name_np(thread->native_handle(), new_process_name);
|
|
+#else
|
|
int result = pthread_setname_np(thread->native_handle(), new_process_name);
|
|
|
|
if (result != 0) {
|
|
logger << log4cpp::Priority::ERROR << "pthread_setname_np failed with code: " << result;
|
|
logger << log4cpp::Priority::ERROR << "Failed to set process name for " << process_name;
|
|
}
|
|
+#endif
|
|
|
|
return true;
|
|
}
|