From: Yu Watanabe Date: Fri, 17 Feb 2023 00:31:01 +0000 (+0900) Subject: activate: use log_set_open_when_needed() X-Git-Tag: v254-rc1~1257^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a723521fd26d40ce90357e4e9b8131f1e1656ab5;p=thirdparty%2Fsystemd.git activate: use log_set_open_when_needed() Otherwise, several error logs may not be shown. --- diff --git a/src/activate/activate.c b/src/activate/activate.c index 66429c8ec92..6d9a4c41cc2 100644 --- a/src/activate/activate.c +++ b/src/activate/activate.c @@ -77,6 +77,8 @@ static int open_sockets(int *epoll_fd, bool accept) { except[i] = SD_LISTEN_FDS_START + i; log_close(); + log_set_open_when_needed(true); + r = close_all_fds(except, n); if (r < 0) return log_error_errno(r, "Failed to close all file descriptors: %m"); @@ -87,17 +89,17 @@ static int open_sockets(int *epoll_fd, bool accept) { STRV_FOREACH(address, arg_listen) { r = make_socket_fd(LOG_DEBUG, *address, arg_socket_type, (arg_accept * SOCK_CLOEXEC)); - if (r < 0) { - log_open(); + if (r < 0) return log_error_errno(r, "Failed to open '%s': %m", *address); - } assert(r == SD_LISTEN_FDS_START + count); count++; } - if (arg_listen) + if (arg_listen) { log_open(); + log_set_open_when_needed(false); + } *epoll_fd = epoll_create1(EPOLL_CLOEXEC); if (*epoll_fd < 0)