void set_current_thread_name(const std::string& name) { #if HAVE_THREAD_LOCAL_SPECIFIER current_name = name; #else current_name.reset(new std::string(name)); #endif #if defined(HAVE_SYS_PRCTL_H) auto short_thread_name = name.substr(0, 15); if (prctl(PR_SET_NAME, short_thread_name.c_str())) { LOG(thread_logger, warning) << "Cannot set the custom thread name: " << short_thread_name << ", errno: " << errno << ", msg: " << strerror(errno); } #endif }