Example #1
0
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
}