aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2009-10-07 16:06:09 +0200
committerDaniel Lezcano <dlezcano@fr.ibm.com>2009-10-07 16:06:09 +0200
commita9e61274bc2c316c4dbded00d9b75ff6419f42d6 (patch)
tree350911bf6cc9fee17c0fe27b3fc9d3b063a0ed80
parentformat and fix small typos (diff)
downloadlxc-a9e61274bc2c316c4dbded00d9b75ff6419f42d6.tar.gz
lxc-a9e61274bc2c316c4dbded00d9b75ff6419f42d6.tar.bz2
lxc-a9e61274bc2c316c4dbded00d9b75ff6419f42d6.zip
Simplify the mainloop
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>
-rw-r--r--src/lxc/mainloop.c5
-rw-r--r--src/lxc/mainloop.h2
-rw-r--r--src/lxc/start.c9
3 files changed, 6 insertions, 10 deletions
diff --git a/src/lxc/mainloop.c b/src/lxc/mainloop.c
index c96be7d..97673bb 100644
--- a/src/lxc/mainloop.c
+++ b/src/lxc/mainloop.c
@@ -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;
diff --git a/src/lxc/mainloop.h b/src/lxc/mainloop.h
index 5ee0228..aa17eb5 100644
--- a/src/lxc/mainloop.h
+++ b/src/lxc/mainloop.h
@@ -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);
diff --git a/src/lxc/start.c b/src/lxc/start.c
index b7c8903..8826b81 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -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;
}