diff options
author | wm4 <wm4@nowhere> | 2014-10-19 23:32:34 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-10-19 23:48:40 +0200 |
commit | 9ba66418790f184339ad3a891f525d54459d6369 (patch) | |
tree | 0ddfa7df4ba0e7684ee9b12938c0dc07f4c5f64b /osdep/threads.c | |
parent | c6dca55665e2710163437f09c04033d4b30e2e1a (diff) | |
download | mpv-9ba66418790f184339ad3a891f525d54459d6369.tar.bz2 mpv-9ba66418790f184339ad3a891f525d54459d6369.tar.xz |
Set thread name for debugging
Especially with other components (libavcodec, OSX stuff), the thread
list can get quite populated. Setting the thread name helps when
debugging.
Since this is not portable, we check the OS variants in waf configure.
old-configure just gets a special-case for glibc, since doing a full
check here would probably be a waste of effort.
Diffstat (limited to 'osdep/threads.c')
-rw-r--r-- | osdep/threads.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/osdep/threads.c b/osdep/threads.c index 8cb03045e4..c41007b2cb 100644 --- a/osdep/threads.c +++ b/osdep/threads.c @@ -14,6 +14,9 @@ * You should have received a copy of the GNU General Public License along * with mpv. If not, see <http://www.gnu.org/licenses/>. */ +#include <stdio.h> + +#include "config.h" #include "threads.h" #include "timer.h" @@ -40,3 +43,16 @@ int mpthread_mutex_init_recursive(pthread_mutex_t *mutex) pthread_mutexattr_destroy(&attr); return r; } + +void mpthread_set_name(const char *name) +{ + char tname[90]; + snprintf(tname, sizeof(tname), "mpv %s", name); +#if HAVE_GLIBC_THREAD_NAME + pthread_setname_np(pthread_self(), tname); +#elif HAVE_BSD_THREAD_NAME + pthread_set_name_np(pthread_self(), tname); +#elif HAVE_OSX_THREAD_NAME + pthread_setname_np(tname); +#endif +} |