199451b44SJordan Rupprecht #include <pthread.h> 299451b44SJordan Rupprecht #include <signal.h> 399451b44SJordan Rupprecht set_thread_name(const char * name)499451b44SJordan Rupprechtvoid set_thread_name(const char *name) { 599451b44SJordan Rupprecht #if defined(__APPLE__) 699451b44SJordan Rupprecht ::pthread_setname_np(name); 7*b643deb0SMichał Górny #elif defined(__FreeBSD__) || defined(__linux__) 899451b44SJordan Rupprecht ::pthread_setname_np(::pthread_self(), name); 999451b44SJordan Rupprecht #elif defined(__NetBSD__) 1099451b44SJordan Rupprecht ::pthread_setname_np(::pthread_self(), "%s", const_cast<char *>(name)); 1199451b44SJordan Rupprecht #endif 1299451b44SJordan Rupprecht } 1399451b44SJordan Rupprecht main()1499451b44SJordan Rupprechtint main() { 1599451b44SJordan Rupprecht set_thread_name("hello world"); 1699451b44SJordan Rupprecht raise(SIGINT); 1799451b44SJordan Rupprecht set_thread_name("goodbye world"); 1899451b44SJordan Rupprecht raise(SIGINT); 1999451b44SJordan Rupprecht return 0; 2099451b44SJordan Rupprecht } 21