]> git.meshlink.io Git - meshlink/blobdiff - src/net.c
Make meshlink_send return immediately. Implemented a queue for communication between...
[meshlink] / src / net.c
index deac6eee42a612a57ef3e621a0eb657f0b924913..5f50531b9ff4fada055e90b255ecf9b9f03ea351 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -269,6 +269,10 @@ int main_loop(meshlink_handle_t *mesh) {
        timeout_add(&mesh->loop, &mesh->pingtimer, timeout_handler, &mesh->pingtimer, &(struct timeval){mesh->pingtimeout, rand() % 100000});
        timeout_add(&mesh->loop, &mesh->periodictimer, periodic_handler, &mesh->periodictimer, &(struct timeval){mesh->pingtimeout, rand() % 100000});
 
+       //Add signal handler
+       mesh->datafromapp.signum = 0;
+       signal_add(&(mesh->loop),&(mesh->datafromapp), (signal_cb_t)meshlink_send_from_queue,mesh, mesh->datafromapp.signum);
+
        if(!event_loop_run(&mesh->loop)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while waiting for input: %s", strerror(errno));
                return 1;