notifier_list_notify(&thread_exit, NULL);
}
+void qemu_thread_set_name(const char *name)
+{
+ /*
+ * Attempt to set the thread name; note that this is for debug, so
+ * we're not going to fail if we can't set it.
+ */
+# if defined(CONFIG_PTHREAD_SETNAME_NP_W_TID)
+ pthread_setname_np(pthread_self(), name);
+# elif defined(CONFIG_PTHREAD_SETNAME_NP_WO_TID)
+ pthread_setname_np(name);
+# elif defined(CONFIG_PTHREAD_SET_NAME_NP)
+ pthread_set_name_np(pthread_self(), name);
+# endif
+}
+
typedef struct {
void *(*start_routine)(void *);
void *arg;
void *arg = qemu_thread_args->arg;
void *r;
- /* Attempt to set the threads name; note that this is for debug, so
- * we're not going to fail if we can't set it.
- */
if (qemu_thread_args->name) {
-# if defined(CONFIG_PTHREAD_SETNAME_NP_W_TID)
- pthread_setname_np(pthread_self(), qemu_thread_args->name);
-# elif defined(CONFIG_PTHREAD_SETNAME_NP_WO_TID)
- pthread_setname_np(qemu_thread_args->name);
-# elif defined(CONFIG_PTHREAD_SET_NAME_NP)
- pthread_set_name_np(pthread_self(), qemu_thread_args->name);
-# endif
+ qemu_thread_set_name(qemu_thread_args->name);
}
QEMU_TSAN_ANNOTATE_THREAD_NAME(qemu_thread_args->name);
g_free(qemu_thread_args->name);
static pSetThreadDescription SetThreadDescriptionFunc;
static HMODULE kernel32_module;
-static void set_thread_description(const char *name);
-
static bool load_set_thread_description(void)
{
static gsize _init_once = 0;
void *thread_arg = data->arg;
if (data->name) {
- set_thread_description(data->name);
+ qemu_thread_set_name(data->name);
g_clear_pointer(&data->name, g_free);
}
qemu_thread_data = data;
return ret;
}
-static void set_thread_description(const char *name)
+void qemu_thread_set_name(const char *name)
{
g_autofree wchar_t *namew = NULL;