Explorar o código

Silence deprecation warning about daemon() on OSX

Nils Maier %!s(int64=11) %!d(string=hai) anos
pai
achega
3c55400d23
Modificáronse 1 ficheiros con 12 adicións e 1 borrados
  1. 12 1
      src/option_processing.cc

+ 12 - 1
src/option_processing.cc

@@ -311,7 +311,18 @@ error_code::Value option_processing(Option& op, bool standalone,
     }
   }
   if(standalone && op.getAsBool(PREF_DAEMON)) {
-    if(daemon(0, 0) < 0) {
+#if defined(__GNUC__) && defined(__APPLE__)
+    // daemon() is deprecated on OSX since... forever.
+    // Silence the warning for good, so that -Werror becomes feasible.
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif // defined(__GNUC__) && defined(__APPLE__)
+    const auto daemonized = daemon(0, 0);
+#if defined(__GNUC__) && defined(__APPLE__)
+#pragma GCC diagnostic pop
+#endif // defined(__GNUC__) && defined(__APPLE__)
+
+    if(daemonized < 0) {
       perror(MSG_DAEMON_FAILED);
       return error_code::UNKNOWN_ERROR;
     }