]> git.meshlink.io Git - meshlink/blobdiff - src/net.c
Dirty draft: use signal trigger to notify event loop about incoming data from the...
[meshlink] / src / net.c
index 866bacb10c7eb46d5cdaaf93086f8d72ad1129d0..15a4831f44cf430519b7842e65953b2c790577a4 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -178,6 +178,8 @@ static void periodic_handler(event_loop_t *loop, void *data) {
                                }
 
                                if(!found) {
+                                       //TODO: if the node is blacklisted the connection will not happen, but
+                                       //the user will read this debug message "Autoconnecting to %s" that is misleading
                                        logger(DEBUG_CONNECTIONS, LOG_INFO, "Autoconnecting to %s", n->name);
                                        outgoing_t *outgoing = xzalloc(sizeof *outgoing);
                                        outgoing->name = xstrdup(n->name);
@@ -267,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 = {0};
+       signal_add(&(mesh->loop),&(mesh->datafromapp), meshlink_send_from_queue,NULL, SIGTERM);
+
        if(!event_loop_run(&mesh->loop)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while waiting for input: %s", strerror(errno));
                return 1;