From 05194422ee8fa038d99fe77a2e9d776d25623fd2 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Sat, 17 Jan 2009 18:03:53 +0100 Subject: src: remove register_fds hooks This patch moves the file descriptor registration after the initialization instead of having a specific hook for this. Signed-off-by: Pablo Neira Ayuso --- src/run.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'src/run.c') diff --git a/src/run.c b/src/run.c index b436113..a6dfe15 100644 --- a/src/run.c +++ b/src/run.c @@ -278,6 +278,12 @@ init(void) STATE(mode) = &stats_mode; } + STATE(fds) = create_fds(); + if (STATE(fds) == NULL) { + dlog(LOG_ERR, "can't create file descriptor pool"); + return -1; + } + /* Initialization */ if (STATE(mode)->init() == -1) { dlog(LOG_ERR, "initialization failed"); @@ -289,6 +295,7 @@ init(void) dlog(LOG_ERR, "can't open unix socket!"); return -1; } + register_fd(STATE(local).fd, STATE(fds)); STATE(event) = nl_init_event_handler(); if (STATE(event) == NULL) { @@ -298,6 +305,7 @@ init(void) return -1; } nfct_callback_register(STATE(event), NFCT_T_ALL, event_handler, NULL); + register_fd(nfct_fd(STATE(event)), STATE(fds)); STATE(dump) = nl_init_dump_handler(); if (STATE(dump) == NULL) { @@ -324,6 +332,7 @@ init(void) NFCT_T_ALL, STATE(mode)->resync, NULL); + register_fd(nfct_fd(STATE(resync)), STATE(fds)); /* no callback, it does not do anything with the output */ STATE(request) = nl_init_request_handler(); @@ -336,22 +345,6 @@ init(void) init_alarm(&STATE(resync_alarm), NULL, do_resync_alarm); - STATE(fds) = create_fds(); - if (STATE(fds) == NULL) { - dlog(LOG_ERR, "can't create file descriptor pool"); - return -1; - } - - register_fd(STATE(local).fd, STATE(fds)); - register_fd(nfct_fd(STATE(event)), STATE(fds)); - register_fd(nfct_fd(STATE(resync)), STATE(fds)); - - if (STATE(mode)->register_fds && - STATE(mode)->register_fds(STATE(fds)) == -1) { - dlog(LOG_ERR, "fds registration failed"); - return -1; - } - /* Signals handling */ sigemptyset(&STATE(block)); sigaddset(&STATE(block), SIGTERM); -- cgit v1.2.3