From: Marek Vavruša Date: Tue, 31 Mar 2015 20:44:55 +0000 (+0200) Subject: daemon/engine: made ‘network’ manager part of the engine X-Git-Tag: v1.0.0-beta1~274^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=157d3c64b29d21689c969365788a5ec2bf5aa766;p=thirdparty%2Fknot-resolver.git daemon/engine: made ‘network’ manager part of the engine --- diff --git a/daemon/engine.c b/daemon/engine.c index fb1d48cb2..ae15ac967 100644 --- a/daemon/engine.c +++ b/daemon/engine.c @@ -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]); diff --git a/daemon/engine.h b/daemon/engine.h index 5a49f9b0d..c4c2e5bd4 100644 --- a/daemon/engine.h +++ b/daemon/engine.h @@ -22,11 +22,12 @@ 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; }; diff --git a/daemon/main.c b/daemon/main.c index 75cb473d6..1a1e0a53f 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -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;