xref: /llvm-project/lldb/test/API/tools/lldb-server/thread-name/main.cpp (revision a2e61bc2f3bc66124575c0abf9b8421073470202)
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 Rupprecht void 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 Rupprecht int 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