]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
activate: use log_set_open_when_needed()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 17 Feb 2023 00:31:01 +0000 (09:31 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 17 Feb 2023 00:49:51 +0000 (09:49 +0900)
Otherwise, several error logs may not be shown.

src/activate/activate.c

index 66429c8ec92561388a5154a66ccfe71d5b296f58..6d9a4c41cc2c77880e4ddecc2a328199af17cc6e 100644 (file)
@@ -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)