]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: Check for sched_get_priority_min()
authorAndrea Bolognani <abologna@redhat.com>
Tue, 27 Feb 2024 14:58:27 +0000 (15:58 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Tue, 19 Mar 2024 17:38:19 +0000 (18:38 +0100)
virProcessSetScheduler() uses not just sched_setscheduler() but
also sched_get_priority_{min,max}(). Currently we assume that
the former being available implies that the latter are as well,
but that's not the case for at least GNU/Hurd.

Make sure all functions are actually available before
attempting to use them.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
meson.build
src/util/virprocess.c

index 31d02e5b67f008cef43e936a1fdfb3dd74717fdb..740f62d484df69747951fe40c0251d1af92ede0d 100644 (file)
@@ -584,6 +584,7 @@ functions = [
   'posix_fallocate',
   'posix_memalign',
   'prlimit',
+  'sched_get_priority_min',
   'sched_getaffinity',
   'sched_setscheduler',
   'setgroups',
index 8e4440b45f8ee9c07c7221f4d2eba799841b533a..5cdf3e3eb9393083bad073f0a93b3be18a79be60 100644 (file)
@@ -1573,7 +1573,7 @@ virProcessExitWithStatus(int status)
     exit(value);
 }
 
-#if WITH_SCHED_SETSCHEDULER
+#if defined(WITH_SCHED_SETSCHEDULER) && defined(WITH_SCHED_GET_PRIORITY_MIN)
 
 static int
 virProcessSchedTranslatePolicy(virProcessSchedPolicy policy)
@@ -1667,7 +1667,7 @@ virProcessSetScheduler(pid_t pid,
     return 0;
 }
 
-#else /* ! WITH_SCHED_SETSCHEDULER */
+#else /* ! (defined(WITH_SCHED_SETSCHEDULER) && defined(WITH_SCHED_GET_PRIORITY_MIN)) */
 
 int
 virProcessSetScheduler(pid_t pid G_GNUC_UNUSED,
@@ -1682,7 +1682,7 @@ virProcessSetScheduler(pid_t pid G_GNUC_UNUSED,
     return -1;
 }
 
-#endif /* !WITH_SCHED_SETSCHEDULER */
+#endif /* ! (defined(WITH_SCHED_SETSCHEDULER) && defined(WITH_SCHED_GET_PRIORITY_MIN)) */
 
 /*
  * Get all stat fields for a process based on pid and tid: