summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/os/os_thread.h
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2015-02-13 13:51:28 +0000
committerJose Fonseca <jfonseca@vmware.com>2015-02-13 19:42:21 +0000
commitc944b91190048e370d2adc362f0860d9f58e58f2 (patch)
tree10095c3578952838a240bb6028cd51ab204e6561 /src/gallium/auxiliary/os/os_thread.h
parentb09f25428ff5e908aefc03b8f9931599c3afd6d2 (diff)
downloadexternal_mesa3d-c944b91190048e370d2adc362f0860d9f58e58f2.zip
external_mesa3d-c944b91190048e370d2adc362f0860d9f58e58f2.tar.gz
external_mesa3d-c944b91190048e370d2adc362f0860d9f58e58f2.tar.bz2
os,llvmpipe: Set rasterizer thread names on Linux.
To help identify llvmpipe rasterizer threads -- especially when there can be so many. We can eventually generalize this to other OSes, but for that we must restrict the function to be called from the current thread. See also http://stackoverflow.com/a/7989973 Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/os/os_thread.h')
-rw-r--r--src/gallium/auxiliary/os/os_thread.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h
index ff46a89..e9da895 100644
--- a/src/gallium/auxiliary/os/os_thread.h
+++ b/src/gallium/auxiliary/os/os_thread.h
@@ -85,6 +85,17 @@ static INLINE int pipe_thread_destroy( pipe_thread thread )
return thrd_detach( thread );
}
+static INLINE void pipe_thread_setname( const char *name )
+{
+#if defined(HAVE_PTHREAD)
+# if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \
+ (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12))
+ pthread_setname_np(pthread_self(), name);
+# endif
+#endif
+ (void)name;
+}
+
/* pipe_mutex
*/