[FFmpeg-cvslog] lavu/thread: add an internal function for setting thread name

Anton Khirnov git at videolan.org
Mon Oct 24 03:15:20 EEST 2022


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Oct 18 18:10:01 2022 +0200| [f66e7946724a102c67bf03faaca7517d8ee2fcd9] | committer: Anton Khirnov

lavu/thread: add an internal function for setting thread name

Linux-only for now.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f66e7946724a102c67bf03faaca7517d8ee2fcd9
---

 configure          |  2 ++
 libavutil/thread.h | 16 +++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index baaf61271f..eefd103414 100755
--- a/configure
+++ b/configure
@@ -2310,6 +2310,7 @@ SYSTEM_FUNCS="
     nanosleep
     PeekNamedPipe
     posix_memalign
+    prctl
     pthread_cancel
     sched_getaffinity
     SecItemImport
@@ -6294,6 +6295,7 @@ check_func  mmap
 check_func  mprotect
 # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
 check_func_headers time.h nanosleep || check_lib nanosleep time.h nanosleep -lrt
+check_func_headers sys/prctl.h prctl
 check_func  sched_getaffinity
 check_func  setrlimit
 check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec -D_BSD_SOURCE
diff --git a/libavutil/thread.h b/libavutil/thread.h
index 7106fd0d47..2f5e7e1cb5 100644
--- a/libavutil/thread.h
+++ b/libavutil/thread.h
@@ -24,6 +24,12 @@
 
 #include "config.h"
 
+#if HAVE_PRCTL
+#include <sys/prctl.h>
+#endif
+
+#include "error.h"
+
 #if HAVE_PTHREADS || HAVE_W32THREADS || HAVE_OS2THREADS
 
 #if HAVE_PTHREADS
@@ -33,7 +39,6 @@
 
 #include <stdlib.h>
 
-#include "error.h"
 #include "log.h"
 #include "macros.h"
 
@@ -187,4 +192,13 @@ static inline int ff_thread_once(char *control, void (*routine)(void))
 
 #endif
 
+static inline int ff_thread_setname(const char *name)
+{
+#if HAVE_PRCTL
+    return AVERROR(prctl(PR_SET_NAME, name));
+#endif
+
+    return AVERROR(ENOSYS);
+}
+
 #endif /* AVUTIL_THREAD_H */



More information about the ffmpeg-cvslog mailing list