Browse Source

Make the hibernate.c changes for systemd compile.

Nick Mathewson 5 years ago
parent
commit
212bd9778b
1 changed files with 12 additions and 0 deletions
  1. 12 0
      src/feature/hibernate/hibernate.c

+ 12 - 0
src/feature/hibernate/hibernate.c

@@ -50,6 +50,16 @@ hibernating, phase 2:
 #include <unistd.h>
 #endif
 
+#ifdef HAVE_SYSTEMD
+#  if defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__)
+/* Systemd's use of gcc's __INCLUDE_LEVEL__ extension macro appears to confuse
+ * Coverity. Here's a kludge to unconfuse it.
+ */
+#   define __INCLUDE_LEVEL__ 2
+# endif /* defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) */
+#include <systemd/sd-daemon.h>
+#endif /* defined(HAVE_SYSTEMD) */
+
 /** Are we currently awake, asleep, running out of bandwidth, or shutting
  * down? */
 static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
@@ -821,6 +831,8 @@ hibernate_soft_limit_reached(void)
   return get_accounting_bytes() >= soft_limit;
 }
 
+#define TOR_USEC_PER_SEC (1000000)
+
 /** Called when we get a SIGINT, or when bandwidth soft limit is
  * reached. Puts us into "loose hibernation": we don't accept new
  * connections, but we continue handling old ones. */