Просмотр исходного кода

s-s-d: Handle _POSIX_PRIORITY_SCHEDULING being defined to -1 or 0

POSIX states that these can be defined as -1 (unavailable), or 0
(available at build-time, but might or might not be available at
run-time). Handles these, which happens to be the case in Mac OS X.
Guillem Jover лет назад: 10
Родитель
Сommit
37af4e517e
2 измененных файлов с 5 добавлено и 3 удалено
  1. 2 0
      debian/changelog
  2. 3 3
      utils/start-stop-daemon.c

+ 2 - 0
debian/changelog

@@ -36,6 +36,8 @@ dpkg (1.18.11) UNRELEASED; urgency=medium
     - Cast strlen() return value to ssize_t to match write() return type.
     - Use underscore-prefixed system preprocessor symbols instead of namespace
       polluting ones (such as “linux”, “OPENBSD” or “hpux”).
+    - Handle _POSIX_PRIORITY_SCHEDULING being defined to -1 or 0 in
+      start-stop-daemon. This affects Mac OS X.
   * Perl modules:
     - Obsolete Source-Version substvar in Dpkg::Substvars by emitting errors.
     - Rework keyring hooks in Dpkg::Vendor. Deprecate the keyrings hook, and

+ 3 - 3
utils/start-stop-daemon.c

@@ -112,7 +112,7 @@
 #endif
 #endif
 
-#ifdef _POSIX_PRIORITY_SCHEDULING
+#if defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0
 #include <sched.h>
 #else
 #define SCHED_OTHER -1
@@ -731,7 +731,7 @@ parse_umask(const char *string, int *value_r)
 static void
 validate_proc_schedule(void)
 {
-#ifdef _POSIX_PRIORITY_SCHEDULING
+#if defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0
 	int prio_min, prio_max;
 
 	prio_min = sched_get_priority_min(proc_sched->policy);
@@ -814,7 +814,7 @@ parse_io_schedule(const char *string)
 static void
 set_proc_schedule(struct res_schedule *sched)
 {
-#ifdef _POSIX_PRIORITY_SCHEDULING
+#if defined(_POSIX_PRIORITY_SCHEDULING) && _POSIX_PRIORITY_SCHEDULING > 0
 	struct sched_param param;
 
 	param.sched_priority = sched->priority;