]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Simplify the mainloop
authorDaniel Lezcano <dlezcano@fr.ibm.com>
Wed, 7 Oct 2009 14:06:09 +0000 (16:06 +0200)
committerDaniel Lezcano <dlezcano@fr.ibm.com>
Wed, 7 Oct 2009 14:06:09 +0000 (16:06 +0200)
The number of fds passed to epoll is just a hint for the kernel.
In our case, we know this is often 2, let's remove this parameter
from lxc_mainloop_open and cleanup the code around the caller of
this function.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
src/lxc/mainloop.c
src/lxc/mainloop.h
src/lxc/start.c

index c96be7d845a4a06674c8d263d4243ad0211c806d..97673bb93a9e6e76272630ba5417cecd990eaa7a 100644 (file)
@@ -154,12 +154,13 @@ int lxc_mainloop_del_handler(struct lxc_epoll_descr *descr, int fd)
        return -1;
 }
 
-int lxc_mainloop_open(int size, struct lxc_epoll_descr *descr)
+int lxc_mainloop_open(struct lxc_epoll_descr *descr)
 {
        descr->nfds = 0;
        descr->ev = NULL;
 
-       descr->epfd = epoll_create(size);
+       /* hint value passed to epoll create */
+       descr->epfd = epoll_create(2);
        if (descr->epfd < 0)
                return -1;
 
index 5ee02280f37ac7c93119f5bc52558ee069b7ad19..aa17eb5b8f7499e46cbdafe46de2b2798101eaf2 100644 (file)
@@ -40,6 +40,6 @@ extern int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
 
 extern int lxc_mainloop_del_handler(struct lxc_epoll_descr *descr, int fd);
 
-extern int lxc_mainloop_open(int size, struct lxc_epoll_descr *descr);
+extern int lxc_mainloop_open(struct lxc_epoll_descr *descr);
 
 extern int lxc_mainloop_close(struct lxc_epoll_descr *descr);
index b7c8903a62b5c5d3f86589af5cfe875a893b0f4f..8826b8194d77ac1baf004c9d1ceee55ab1071970 100644 (file)
@@ -152,15 +152,10 @@ int lxc_poll(const char *name, struct lxc_handler *handler)
 {
        int sigfd = handler->sigfd;
        int pid = handler->pid;
-       const struct lxc_tty_info *tty_info = &handler->tty_info;
-
-       int nfds, ret = -1;
+       int ret = -1;
        struct lxc_epoll_descr descr;
 
-       /* nb tty + sigfd + command service */
-       nfds = tty_info->nbtty + 2;
-
-       if (lxc_mainloop_open(nfds, &descr)) {
+       if (lxc_mainloop_open(&descr)) {
                ERROR("failed to create mainloop");
                goto out_sigfd;
        }