diff options
Diffstat (limited to 'mesh')
-rw-r--r-- | mesh/main.c | 8 | ||||
-rw-r--r-- | mesh/mesh-io.c | 2 |
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; |