chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
socket: properly serialize/desrialize mqueue fds
[elogind.git]
/
src
/
core
/
service.c
diff --git
a/src/core/service.c
b/src/core/service.c
index 34d24ffa92b54ea1eb843809d200df7a26aea9de..3d2be96f5bd4df7dbaec6f6de04e5bf22d67b9c2 100644
(file)
--- a/
src/core/service.c
+++ b/
src/core/service.c
@@
-249,7
+249,7
@@
static void service_handle_watchdog(Service *s) {
return;
}
return;
}
- r = unit_watch_timer(UNIT(s), s->watchdog_usec - offset, &s->watchdog_watch);
+ r = unit_watch_timer(UNIT(s),
CLOCK_MONOTONIC, true,
s->watchdog_usec - offset, &s->watchdog_watch);
if (r < 0)
log_warning("%s failed to install watchdog timer: %s", UNIT(s)->id, strerror(-r));
}
if (r < 0)
log_warning("%s failed to install watchdog timer: %s", UNIT(s)->id, strerror(-r));
}
@@
-321,7
+321,7
@@
static char *sysv_translate_name(const char *name) {
if (!(r = new(char, strlen(name) + sizeof(".service"))))
return NULL;
if (!(r = new(char, strlen(name) + sizeof(".service"))))
return NULL;
-#if defined(TARGET_DEBIAN) || defined(TARGET_
UBUNTU) || defined(TARGET_
ANGSTROM)
+#if defined(TARGET_DEBIAN) || defined(TARGET_ANGSTROM)
if (endswith(name, ".sh"))
/* Drop Debian-style .sh suffix */
strcpy(stpcpy(r, name) - 3, ".service");
if (endswith(name, ".sh"))
/* Drop Debian-style .sh suffix */
strcpy(stpcpy(r, name) - 3, ".service");
@@
-368,7
+368,7
@@
static int sysv_translate_facility(const char *name, const char *filename, char
"x-display-manager", SPECIAL_DISPLAY_MANAGER_SERVICE,
"null", NULL,
"x-display-manager", SPECIAL_DISPLAY_MANAGER_SERVICE,
"null", NULL,
-#if defined(TARGET_DEBIAN) || defined(TARGET_
UBUNTU) || defined(TARGET_
ANGSTROM)
+#if defined(TARGET_DEBIAN) || defined(TARGET_ANGSTROM)
"mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
#endif
"mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
#endif
@@
-990,7
+990,7
@@
static int service_load_sysv_name(Service *s, const char *name) {
/* For SysV services we strip the rc.* and *.sh
* prefixes/suffixes. */
/* For SysV services we strip the rc.* and *.sh
* prefixes/suffixes. */
-#if defined(TARGET_DEBIAN) || defined(TARGET_
UBUNTU) || defined(TARGET_
ANGSTROM)
+#if defined(TARGET_DEBIAN) || defined(TARGET_ANGSTROM)
if (endswith(name, ".sh.service"))
return -ENOENT;
#endif
if (endswith(name, ".sh.service"))
return -ENOENT;
#endif
@@
-1013,7
+1013,7
@@
static int service_load_sysv_name(Service *s, const char *name) {
r = service_load_sysv_path(s, path);
r = service_load_sysv_path(s, path);
-#if defined(TARGET_DEBIAN) || defined(TARGET_
UBUNTU) || defined(TARGET_
ANGSTROM)
+#if defined(TARGET_DEBIAN) || defined(TARGET_ANGSTROM)
if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) {
/* Try Debian style *.sh source'able init scripts */
strcat(path, ".sh");
if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) {
/* Try Debian style *.sh source'able init scripts */
strcat(path, ".sh");
@@
-1599,7
+1599,8
@@
static int service_coldplug(Unit *u) {
k = s->deserialized_state == SERVICE_AUTO_RESTART ? s->restart_usec : s->timeout_start_usec;
k = s->deserialized_state == SERVICE_AUTO_RESTART ? s->restart_usec : s->timeout_start_usec;
- if ((r = unit_watch_timer(UNIT(s), k, &s->timer_watch)) < 0)
+ r = unit_watch_timer(UNIT(s), CLOCK_MONOTONIC, true, k, &s->timer_watch);
+ if (r < 0)
return r;
}
}
return r;
}
}
@@
-1744,7
+1745,7
@@
static int service_spawn(
}
if (timeout && s->timeout_start_usec) {
}
if (timeout && s->timeout_start_usec) {
- r = unit_watch_timer(UNIT(s), s->timeout_start_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s),
CLOCK_MONOTONIC, true,
s->timeout_start_usec, &s->timer_watch);
if (r < 0)
goto fail;
} else
if (r < 0)
goto fail;
} else
@@
-1899,7
+1900,7
@@
static void service_enter_dead(Service *s, ServiceResult f, bool allow_restart)
!set_contains(s->restart_ignore_status.signal, INT_TO_PTR(s->main_exec_status.status)))
) {
!set_contains(s->restart_ignore_status.signal, INT_TO_PTR(s->main_exec_status.status)))
) {
- r = unit_watch_timer(UNIT(s), s->restart_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s),
CLOCK_MONOTONIC, true,
s->restart_usec, &s->timer_watch);
if (r < 0)
goto fail;
if (r < 0)
goto fail;
@@
-2012,7
+2013,7
@@
static void service_enter_signal(Service *s, ServiceState state, ServiceResult f
if (wait_for_exit) {
if (s->timeout_stop_usec > 0) {
if (wait_for_exit) {
if (s->timeout_stop_usec > 0) {
- r = unit_watch_timer(UNIT(s), s->timeout_stop_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s),
CLOCK_MONOTONIC, true,
s->timeout_stop_usec, &s->timer_watch);
if (r < 0)
goto fail;
}
if (r < 0)
goto fail;
}
@@
-2262,7
+2263,7
@@
static void service_enter_restart(Service *s) {
/* Don't restart things if we are going down anyway */
log_info("Stop job pending for unit, delaying automatic restart.");
/* Don't restart things if we are going down anyway */
log_info("Stop job pending for unit, delaying automatic restart.");
- r = unit_watch_timer(UNIT(s), s->restart_usec, &s->timer_watch);
+ r = unit_watch_timer(UNIT(s),
CLOCK_MONOTONIC, true,
s->restart_usec, &s->timer_watch);
if (r < 0)
goto fail;
if (r < 0)
goto fail;