From f1324eaa6868f196cccfec839e126ea0046cb6b6 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Sat, 2 Mar 2013 17:31:53 +0100 Subject: [PATCH] manager: remove timer fd explicitly from epoll Forked processes can keep the old fd alive triggering epoll over and over again else. https://bugs.freedesktop.org/show_bug.cgi?id=61697 --- src/core/manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c index 1d18808..c261b25 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1674,6 +1674,8 @@ static int process_event(Manager *m, struct epoll_event *ev) { NULL); /* Restart the watch */ + epoll_ctl(m->epoll_fd, EPOLL_CTL_DEL, m->time_change_watch.fd, + NULL); close_nointr_nofail(m->time_change_watch.fd); watch_init(&m->time_change_watch); manager_setup_time_change(m); -- 2.7.4