X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fnet.c;h=5f50531b9ff4fada055e90b255ecf9b9f03ea351;hb=b6513796888ed88ceae3b7570c9d5617d4b8a371;hp=866bacb10c7eb46d5cdaaf93086f8d72ad1129d0;hpb=a1b50920b9a52f86ca6e33fcb24d7fa34313a1ee;p=meshlink diff --git a/src/net.c b/src/net.c index 866bacb1..5f50531b 100644 --- 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.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;