summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesh/main.c8
-rw-r--r--mesh/mesh-io.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/mesh/main.c b/mesh/main.c
index 619b17d88..3bca020a0 100644
--- a/mesh/main.c
+++ b/mesh/main.c
@@ -137,8 +137,14 @@ static void signal_handler(uint32_t signo, void *user_data)
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 ae6a82ee4..233f4b328 100644
--- a/mesh/mesh-io.c
+++ b/mesh/mesh-io.c
@@ -151,7 +151,7 @@ struct mesh_io *mesh_io_new(enum mesh_io_type type, void *opts,
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;