hthread.c 533 B

1234567891011121314151617181920
  1. #include "hthread.h"
  2. static hthread_key_t tls_thread_name = INVALID_HTHREAD_KEY;
  3. void hthread_setname(const char* name) {
  4. if (tls_thread_name == INVALID_HTHREAD_KEY) {
  5. hthread_key_create(&tls_thread_name);
  6. }
  7. hthread_set_value(tls_thread_name, name);
  8. }
  9. const char* hthread_getname() {
  10. static char unnamed[32];
  11. void* value = hthread_get_value(tls_thread_name);
  12. if (value) {
  13. return (char*)value;
  14. }
  15. snprintf(unnamed, sizeof(unnamed)-1, "thread-%ld", hv_gettid());
  16. return unnamed;
  17. }