]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Stop using global variable mesh in net.c.
[meshlink] / src / meshlink.c
index 6f4bff4fcf227b547aa1e48f66b31a96f3f7bbba..8e94fa1e7cf020cf678e8720c4d826e5b396752a 100644 (file)
@@ -213,6 +213,7 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        mesh->confbase = xstrdup(confbase);
        mesh->name = xstrdup(name);
        event_loop_init(&mesh->loop);
+       mesh->loop.data = mesh;
        set_mesh(mesh);
 
        // TODO: should be set by a function.
@@ -243,7 +244,7 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        // Setup up everything
        // TODO: we should not open listening sockets yet
 
-       if(!setup_network())
+       if(!setup_network(mesh))
                return meshlink_close(mesh), NULL;
 
        return mesh;
@@ -252,9 +253,9 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
 void *meshlink_main_loop(void *arg) {
        meshlink_handle_t *mesh = arg;
 
-       try_outgoing_connections();
+       try_outgoing_connections(mesh);
 
-       main_loop();
+       main_loop(mesh);
 
        return NULL;
 }
@@ -284,7 +285,7 @@ void meshlink_stop(meshlink_handle_t *mesh) {
 void meshlink_close(meshlink_handle_t *mesh) {
        // Close and free all resources used.
 
-       close_network_connections();
+       close_network_connections(mesh);
 
        logger(DEBUG_ALWAYS, LOG_NOTICE, "Terminating");