diff --git a/mesh/main.c b/mesh/main.c
index 619b17d..3bca020 100644
--- a/mesh/main.c
+++ b/mesh/main.c
return;
l_info("Terminating");
+
mesh_cleanup(true);
- l_timeout_create(1, kill_to, NULL, NULL);
+
+ if (io_type != MESH_IO_TYPE_UNIT_TEST)
+ l_timeout_create(1, kill_to, NULL, NULL);
+ else
+ l_main_quit();
+
terminated = true;
}
diff --git a/mesh/mesh-io.c b/mesh/mesh-io.c
index ae6a82e..233f4b3 100644
--- a/mesh/mesh-io.c
+++ b/mesh/mesh-io.c
default_io->api = api;
- if (!api->init(default_io, &default_io->favored_index, user_data))
+ if (!api->init(default_io, opts, user_data))
goto fail;
return default_io;