diff options
Diffstat (limited to 'lib/systemd.c')
| -rw-r--r-- | lib/systemd.c | 106 | 
1 files changed, 50 insertions, 56 deletions
diff --git a/lib/systemd.c b/lib/systemd.c index 4c78cf328c..54f755865b 100644 --- a/lib/systemd.c +++ b/lib/systemd.c @@ -32,65 +32,61 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA   * Wrapper this silliness if we   * don't have systemd   */ -void -systemd_send_information (const char *info) +void systemd_send_information(const char *info)  {  #if defined HAVE_SYSTEMD -  sd_notify (0, info); +	sd_notify(0, info);  #else -  return; +	return;  #endif  }  /*   * A return of 0 means that we are not watchdoged   */ -static int -systemd_get_watchdog_time (int the_process) +static int systemd_get_watchdog_time(int the_process)  {  #if defined HAVE_SYSTEMD -  uint64_t usec; -  char *watchdog = NULL; -  int ret; - -  ret = sd_watchdog_enabled (0, &usec); - -  /* -   * If return is 0 -> we don't want watchdog -   * if return is < 0, some sort of failure occurred -   */ -  if (ret < 0) -    return 0; - -  /* -   * systemd can return that this process -   * is not the expected sender of the watchdog timer -   * If we set the_process = 0 then we expect to -   * be able to send the watchdog to systemd -   * irrelevant of the pid of this process. -   */ -  if (ret == 0 && the_process) -    return 0; - -  if (ret == 0 && !the_process) -    { -      watchdog = getenv ("WATCHDOG_USEC"); -      if (!watchdog) -	return 0; - -      usec = atol (watchdog); -    } - -  return (usec / 1000000)/ 3; +	uint64_t usec; +	char *watchdog = NULL; +	int ret; + +	ret = sd_watchdog_enabled(0, &usec); + +	/* +	 * If return is 0 -> we don't want watchdog +	 * if return is < 0, some sort of failure occurred +	 */ +	if (ret < 0) +		return 0; + +	/* +	 * systemd can return that this process +	 * is not the expected sender of the watchdog timer +	 * If we set the_process = 0 then we expect to +	 * be able to send the watchdog to systemd +	 * irrelevant of the pid of this process. +	 */ +	if (ret == 0 && the_process) +		return 0; + +	if (ret == 0 && !the_process) { +		watchdog = getenv("WATCHDOG_USEC"); +		if (!watchdog) +			return 0; + +		usec = atol(watchdog); +	} + +	return (usec / 1000000) / 3;  #else -  return 0; +	return 0;  #endif  } -void -systemd_send_stopping (void) +void systemd_send_stopping(void)  { -  systemd_send_information ("STOPPING=1"); +	systemd_send_information("STOPPING=1");  }  /* @@ -99,25 +95,23 @@ systemd_send_stopping (void)  int wsecs = 0;  struct thread_master *systemd_master = NULL; -static int -systemd_send_watchdog (struct thread *t) +static int systemd_send_watchdog(struct thread *t)  { -  systemd_send_information ("WATCHDOG=1"); +	systemd_send_information("WATCHDOG=1"); -  thread_add_timer (systemd_master, systemd_send_watchdog, NULL, wsecs); +	thread_add_timer(systemd_master, systemd_send_watchdog, NULL, wsecs); -  return 1; +	return 1;  } -void -systemd_send_started (struct thread_master *m, int the_process) +void systemd_send_started(struct thread_master *m, int the_process)  { -  assert (m != NULL); +	assert(m != NULL); -  wsecs = systemd_get_watchdog_time(the_process); -  systemd_master = m; +	wsecs = systemd_get_watchdog_time(the_process); +	systemd_master = m; -  systemd_send_information ("READY=1"); -  if (wsecs != 0) -    thread_add_timer (m, systemd_send_watchdog, m, wsecs); +	systemd_send_information("READY=1"); +	if (wsecs != 0) +		thread_add_timer(m, systemd_send_watchdog, m, wsecs);  }  | 
