diff --git a/libretro-common/include/rthreads/rthreads.h b/libretro-common/include/rthreads/rthreads.h index e4460a1742..3b1ec7c8c1 100644 --- a/libretro-common/include/rthreads/rthreads.h +++ b/libretro-common/include/rthreads/rthreads.h @@ -90,8 +90,6 @@ int sthread_detach(sthread_t *thread); * @thread to terminate. If that thread has already terminated, then * it will return immediately. The thread specified by @thread must * be joinable. - * - * Returns: 0 on success, otherwise it returns a non-zero error number. */ void sthread_join(sthread_t *thread); @@ -103,6 +101,16 @@ void sthread_join(sthread_t *thread); */ bool sthread_isself(sthread_t *thread); +/** + * sthread_set_name: + * @thread : pointer to thread object + * @name : name to define for the thread (at most + * 15 bytes) + * + * Set the thread name, useful for debugging. + */ +void sthread_setname(sthread_t *thread, const char *name); + /** * slock_new: * diff --git a/libretro-common/rthreads/rthreads.c b/libretro-common/rthreads/rthreads.c index dd061b6155..2edeaad8c4 100644 --- a/libretro-common/rthreads/rthreads.c +++ b/libretro-common/rthreads/rthreads.c @@ -285,8 +285,6 @@ int sthread_detach(sthread_t *thread) * @thread to terminate. If that thread has already terminated, then * it will return immediately. The thread specified by @thread must * be joinable. - * - * Returns: 0 on success, otherwise it returns a non-zero error number. */ void sthread_join(sthread_t *thread) { @@ -320,6 +318,24 @@ bool sthread_isself(sthread_t *thread) #endif } +/** + * sthread_set_name: + * @thread : pointer to thread object + * @name : name to define for the thread (at most + * 15 bytes) + * + * Set the thread name, useful for debugging. + */ +void sthread_setname(sthread_t *thread, const char *name) +{ + if (!thread) + return; + /* TODO: implement that for Windows too. */ +#ifndef USE_WIN32_THREADS + pthread_setname_np(thread->id, name); +#endif +} + /** * slock_new: *