diff --git a/conmon/conmon.c b/conmon/conmon.c index e9c9e267..4e1d57ed 100644 --- a/conmon/conmon.c +++ b/conmon/conmon.c @@ -861,6 +861,8 @@ static char *setup_attach_socket(void) if (listen(attach_socket_fd, 10) == -1) pexit("Failed to listen on attach socket: %s", attach_sock_path); + g_unix_fd_add (attach_socket_fd, G_IO_IN, attach_cb, NULL); + return attach_symlink_dir_path; } @@ -886,6 +888,8 @@ static void setup_terminal_control_fifo() if (dummyfd == -1) pexit("Failed to open dummy writer for fifo"); + g_unix_fd_add (terminal_ctrl_fd, G_IO_IN, ctrl_cb, NULL); + ninfo("terminal_ctrl_fd: %d", terminal_ctrl_fd); } @@ -916,6 +920,8 @@ static void setup_oom_handling(int cpid) _cleanup_free_ char *data = g_strdup_printf("%d %d", oom_event_fd, ofd); if (write_all(cfd, data, strlen(data)) < 0) pexit("Failed to write to cgroup.event_control"); + + g_unix_fd_add (oom_event_fd, G_IO_IN, oom_cb, NULL); } int main(int argc, char *argv[]) @@ -1228,21 +1234,6 @@ int main(int argc, char *argv[]) num_stdio_fds++; } - /* Add the OOM event fd to epoll */ - if (oom_event_fd >= 0) { - g_unix_fd_add (oom_event_fd, G_IO_IN, oom_cb, NULL); - } - - /* Add the attach socket to epoll */ - if (attach_socket_fd > 0) { - g_unix_fd_add (attach_socket_fd, G_IO_IN, attach_cb, NULL); - } - - /* Add control fifo fd to epoll */ - if (terminal_ctrl_fd > 0) { - g_unix_fd_add (terminal_ctrl_fd, G_IO_IN, ctrl_cb, NULL); - } - if (opt_timeout > 0) { g_timeout_add_seconds (opt_timeout, timeout_cb, NULL); }