diff --git a/lib/utils/mu-utils.cc b/lib/utils/mu-utils.cc index deb966f3..f08e6ea0 100644 --- a/lib/utils/mu-utils.cc +++ b/lib/utils/mu-utils.cc @@ -711,3 +711,11 @@ Mu::fputs_encoded (const std::string& str, FILE *stream) return (rv == EOF) ? false: true; } + +void +Mu::set_thread_name(const std::string& name) +{ +#ifdef HAVE_PTHREAD_SETNAME_NP + pthread_setname_np(pthread_self(), name.c_str()); +#endif /*HAVE_PTHREAD_SETNAME_NP*/ +} diff --git a/lib/utils/mu-utils.hh b/lib/utils/mu-utils.hh index c84d4b3c..ecdc2f24 100644 --- a/lib/utils/mu-utils.hh +++ b/lib/utils/mu-utils.hh @@ -427,6 +427,16 @@ std::string summarize(const std::string& str, size_t max_lines); */ std::string quote(const std::string& str); +/** + * Set the name of the current thread + * + * This depends on pthread_setname_np() being available; + * otherwise, does nothing. + * + * @param name thread name + */ +void set_thread_name(const std::string& name); + /** * Convert any ostreamable<< value to a string