199451b44SJordan Rupprecht #include <pthread.h> 2*a2e61bc2SBrad Smith #if defined(__OpenBSD__) 3*a2e61bc2SBrad Smith #include <pthread_np.h> 4*a2e61bc2SBrad Smith #endif 599451b44SJordan Rupprecht #include <signal.h> 699451b44SJordan Rupprecht set_thread_name(const char * name)799451b44SJordan Rupprechtvoid set_thread_name(const char *name) { 899451b44SJordan Rupprecht #if defined(__APPLE__) 999451b44SJordan Rupprecht ::pthread_setname_np(name); 10b643deb0SMichał Górny #elif defined(__FreeBSD__) || defined(__linux__) 1199451b44SJordan Rupprecht ::pthread_setname_np(::pthread_self(), name); 1299451b44SJordan Rupprecht #elif defined(__NetBSD__) 1399451b44SJordan Rupprecht ::pthread_setname_np(::pthread_self(), "%s", const_cast<char *>(name)); 14*a2e61bc2SBrad Smith #elif defined(__OpenBSD__) 15*a2e61bc2SBrad Smith ::pthread_set_name_np(::pthread_self(), name); 1699451b44SJordan Rupprecht #endif 1799451b44SJordan Rupprecht } 1899451b44SJordan Rupprecht main()1999451b44SJordan Rupprechtint main() { 2099451b44SJordan Rupprecht set_thread_name("hello world"); 2199451b44SJordan Rupprecht raise(SIGINT); 2299451b44SJordan Rupprecht set_thread_name("goodbye world"); 2399451b44SJordan Rupprecht raise(SIGINT); 2499451b44SJordan Rupprecht return 0; 2599451b44SJordan Rupprecht } 26