#include <c10/util/thread_name.h> | |
#include <algorithm> | |
#if defined(__GLIBC__) && !defined(__APPLE__) && !defined(__ANDROID__) | |
#define C10_HAS_PTHREAD_SETNAME_NP | |
#endif | |
#ifdef C10_HAS_PTHREAD_SETNAME_NP | |
#include <pthread.h> | |
#endif | |
namespace c10 { | |
void setThreadName(std::string name) { | |
#ifdef C10_HAS_PTHREAD_SETNAME_NP | |
constexpr size_t kMaxThreadName = 15; | |
name.resize(std::min(name.size(), kMaxThreadName)); | |
pthread_setname_np(pthread_self(), name.c_str()); | |
#endif | |
} | |
} // namespace c10 |