Index: src/fast_library.cpp --- src/fast_library.cpp.orig +++ src/fast_library.cpp @@ -29,6 +29,11 @@ #include #endif +// For pthread_set_name_np +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) +#include +#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; }