]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/engine: made ‘network’ manager part of the engine
authorMarek Vavruša <marek.vavrusa@nic.cz>
Tue, 31 Mar 2015 20:44:55 +0000 (22:44 +0200)
committerMarek Vavruša <marek.vavrusa@nic.cz>
Tue, 31 Mar 2015 20:44:55 +0000 (22:44 +0200)
daemon/engine.c
daemon/engine.h
daemon/main.c

index fb1d48cb2f4d9aca84fb51debe7214b5ca13abd8..ae15ac967f3267daf9ff40b464460731f6215dcb 100644 (file)
@@ -138,6 +138,8 @@ int engine_init(struct engine *engine, mm_ctx_t *pool)
        if (ret != 0) {
                return ret;
        }
+       /* Initialize network */
+       network_init(&engine->net, uv_default_loop());
 
        return ret;
 }
@@ -148,6 +150,8 @@ void engine_deinit(struct engine *engine)
                return;
        }
 
+       network_deinit(&engine->net);
+
        /* Unload modules. */
        for (size_t i = 0; i < engine->modules.len; ++i) {
                kr_module_unload(&engine->modules.at[i]);
index 5a49f9b0d1708f1f52d6f6a4a0e25ff406e92992..c4c2e5bd4e3bf350da4aeb67474c8d1876c0fa23 100644 (file)
 struct lua_State;
 
 #include "lib/resolve.h"
-#include "lib/generic/array.h"
+#include "daemon/network.h"
 
 struct engine {
     struct kr_context resolver;
     modulelist_t modules;
+    struct network net;
     mm_ctx_t *pool;
     struct lua_State *L;
 };
index 75cb473d613cc657ddf0b5f24d8f8cc3797eb6ab..1a1e0a53fb20848dc4a59b2295de9c42d5eafa4c 100644 (file)
@@ -146,9 +146,7 @@ int main(int argc, char **argv)
        loop->data = &worker;
 
        /* Bind to sockets. */
-       struct network net;
-       network_init(&net, loop);
-       ret = network_listen(&net, addr, (uint16_t)port, NET_UDP|NET_TCP);
+       ret = network_listen(&engine.net, addr, (uint16_t)port, NET_UDP|NET_TCP);
        if (ret != 0) {
                fprintf(stderr, "[system] bind to '%s#%d' %s\n", addr, port, knot_strerror(ret));
                ret = EXIT_FAILURE;
@@ -172,7 +170,6 @@ int main(int argc, char **argv)
 
        /* Cleanup. */
        fprintf(stderr, "\n[system] quitting\n");
-       network_deinit(&net);
        engine_deinit(&engine);
 
        return ret;