X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink.c;h=2c1253c79864d10b0cf567b233ffce4523a88191;hb=5aa1e39a0ff8304e24151d3a69a68737084269e2;hp=4a4d3c65f007462df313bf092531b4a209913d4e;hpb=cb9cccebb8d74a573a131ac6794542881f9a7d38;p=meshlink diff --git a/src/meshlink.c b/src/meshlink.c index 4a4d3c65..2c1253c7 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -1391,10 +1391,27 @@ static void *meshlink_main_loop(void *arg) { pthread_mutex_lock(&(mesh->mesh_mutex)); +#if HAVE_CATTA + + if(mesh->discovery) { + discovery_start(mesh); + } + +#endif + logger(mesh, MESHLINK_DEBUG, "Starting main_loop...\n"); main_loop(mesh); logger(mesh, MESHLINK_DEBUG, "main_loop returned.\n"); +#if HAVE_CATTA + + // Stop discovery + if(mesh->discovery) { + discovery_stop(mesh); + } + +#endif + pthread_mutex_unlock(&(mesh->mesh_mutex)); return NULL; } @@ -1453,14 +1470,6 @@ bool meshlink_start(meshlink_handle_t *mesh) { mesh->threadstarted = true; -#if HAVE_CATTA - - if(mesh->discovery) { - discovery_start(mesh); - } - -#endif - assert(mesh->self->ecdsa); assert(!memcmp((uint8_t *)mesh->self->ecdsa + 64, (uint8_t *)mesh->private_key + 64, 32)); @@ -1478,15 +1487,6 @@ void meshlink_stop(meshlink_handle_t *mesh) { pthread_mutex_lock(&(mesh->mesh_mutex)); logger(mesh, MESHLINK_DEBUG, "meshlink_stop called\n"); -#if HAVE_CATTA - - // Stop discovery - if(mesh->discovery) { - discovery_stop(mesh); - } - -#endif - // Shut down the main thread event_loop_stop(&mesh->loop);