[systemd-commits] src/core

Lennart Poettering lennart at kemper.freedesktop.org
Wed Mar 6 08:16:46 PST 2013


 src/core/manager.c |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit f1324eaa6868f196cccfec839e126ea0046cb6b6
Author: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date:   Sat Mar 2 17:31:53 2013 +0100

    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

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);



More information about the systemd-commits mailing list