summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/thread/thread.h1
-rw-r--r--src/util/thread/thread_linux.c9
-rw-r--r--src/util/thread/thread_windows.c5
3 files changed, 13 insertions, 2 deletions
diff --git a/src/util/thread/thread.h b/src/util/thread/thread.h
index 142aa3c..763fdfb 100644
--- a/src/util/thread/thread.h
+++ b/src/util/thread/thread.h
@@ -77,6 +77,7 @@ void nn_thread_sleep(nn_os_tstamp delay);
void nn_thread_create(struct nn_thread *thread, nn_thread_func func, void *userdata);
void nn_thread_set_priority(s32 policy, s32 priority);
+void nn_thread_set_name(const char *name);
void nn_thread_join(struct nn_thread *thread);
#ifdef NAUNET_HAS_THREAD_CANCEL
diff --git a/src/util/thread/thread_linux.c b/src/util/thread/thread_linux.c
index f5b480e..a548ff8 100644
--- a/src/util/thread/thread_linux.c
+++ b/src/util/thread/thread_linux.c
@@ -20,10 +20,15 @@ void nn_thread_create(struct nn_thread *thread, nn_thread_func func, void *userd
void nn_thread_set_priority(s32 policy, s32 priority)
{
- pthread_t this = pthread_self();
struct sched_param params = { 0 };
params.sched_priority = priority;
- pthread_setschedparam(this, policy, &params);
+ pthread_setschedparam(pthread_self(), policy, &params);
+}
+
+void nn_thread_set_name(const char *name)
+{
+ s32 ret = pthread_setname_np(pthread_self(), name);
+ al_assert(ret != ERANGE);
}
void nn_thread_join(struct nn_thread *thread)
diff --git a/src/util/thread/thread_windows.c b/src/util/thread/thread_windows.c
index 8722d0a..53337a4 100644
--- a/src/util/thread/thread_windows.c
+++ b/src/util/thread/thread_windows.c
@@ -20,6 +20,11 @@ void nn_thread_set_priority(s32 policy, s32 priority)
(void)priority;
}
+void nn_thread_set_name(const char *name)
+{
+ (void)name;
+}
+
void nn_thread_join(struct nn_thread *thread)
{
WaitForSingleObject(thread->thread, INFINITE);