From: Kevin Wheatley <kevin.j.wheat...@gmail.com>

This fix moves the potential definition of _GNU_SOURCE prior to
any includes of system header files as required by the documentation
https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html

This corrects the CPU_COUNT macro availability, resulting in
sched_getaffinity() being called on Linux systems. This then correctly
returns the number of CPUs when run under containers and other cases
where processor affinity has been setup prior to running FFmpeg

Signed-off-by: Kevin J Wheatley <kevin.j.wheat...@gmail.com>
---
 libavutil/cpu.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index 8e3576a..1496c5d 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -16,6 +16,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config.h"
+
+#if HAVE_SCHED_GETAFFINITY
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+#include <sched.h>
+#endif
+
 #include <stddef.h>
 #include <stdint.h>
 #include <stdatomic.h>
@@ -23,16 +32,9 @@
 #include "attributes.h"
 #include "cpu.h"
 #include "cpu_internal.h"
-#include "config.h"
 #include "opt.h"
 #include "common.h"
 
-#if HAVE_SCHED_GETAFFINITY
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-#include <sched.h>
-#endif
 #if HAVE_GETPROCESSAFFINITYMASK || HAVE_WINRT
 #include <windows.h>
 #endif
-- 
1.8.5.6

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to