X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;fp=src%2Fnet_setup.c;h=dc1d665d2c0dba1f3627d561512094d79ba6d7bd;hb=b107b10c4ef70bdf74d6d6ac57ff5ab2698b9cb2;hp=b31bed737e0653ae0a0c8fb1a7bf130a6c6364a0;hpb=9e00aaa5be9c92f1cee93bca3f0e473009cc3541;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index b31bed73..dc1d665d 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -529,12 +529,8 @@ bool setup_myself(void) { abort(); } - event_set(&listen_socket[listen_sockets].ev_udp, - listen_socket[listen_sockets].udp, - EV_READ|EV_PERSIST, - handle_incoming_vpn_data, NULL); - if(event_add(&listen_socket[listen_sockets].ev_udp, NULL) < 0) { - logger(LOG_ERR, "event_add failed: %s", strerror(errno)); + if(!thread_create(&listen_socket[listen_sockets].udp_thread, handle_incoming_vpn_data, &listen_socket[listen_sockets])) { + logger(LOG_ERR, "thread_create failed: %s", strerror(errno)); abort(); } @@ -625,6 +621,7 @@ void close_network_connections(void) { event_del(&listen_socket[i].ev_udp); close(listen_socket[i].tcp); close(listen_socket[i].udp); + thread_destroy(&listen_socket[i].udp_thread); } xasprintf(&envp[0], "NETNAME=%s", netname ? : "");