X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fservice.c;h=fe7ddd1841041706a0845dd1d03ad5aa50561656;hp=121ddec6ad3b72e6c8f233c066bf89154ca70f74;hb=03e334a1c7dc8c20c38902aa039440763acc9b17;hpb=e66cf1a3f94fff48a572f6dbd19b43c9bcf7b8c7 diff --git a/src/core/service.c b/src/core/service.c index 121ddec6a..fe7ddd184 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -226,8 +226,7 @@ static void service_close_socket_fd(Service *s) { if (s->socket_fd < 0) return; - close_nointr_nofail(s->socket_fd); - s->socket_fd = -1; + s->socket_fd = safe_close(s->socket_fd); } static void service_connection_unref(Service *s) { @@ -361,7 +360,7 @@ static int service_arm_timer(Service *s, usec_t usec) { static char *sysv_translate_name(const char *name) { char *r; - r = new(char, strlen(name) + sizeof(".service")); + r = new(char, strlen(name) + strlen(".service") + 1); if (!r) return NULL; @@ -2684,8 +2683,7 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, log_debug_unit(u->id, "Failed to parse socket-fd value %s", value); else { - if (s->socket_fd >= 0) - close_nointr_nofail(s->socket_fd); + safe_close(s->socket_fd); s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { @@ -3416,7 +3414,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { free(t); } - /* Interpet WATCHDOG= */ + /* Interpret WATCHDOG= */ if (strv_find(tags, "WATCHDOG=1")) { log_debug_unit(u->id, "%s: got WATCHDOG=1", u->id); service_reset_watchdog(s);