summaryrefslogtreecommitdiff
path: root/opentracker.c
diff options
context:
space:
mode:
Diffstat (limited to 'opentracker.c')
-rw-r--r--opentracker.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/opentracker.c b/opentracker.c
index f579b92..ab4a934 100644
--- a/opentracker.c
+++ b/opentracker.c
@@ -397,7 +397,6 @@ static void listen_start_udp_workers(void) {
397 if (entry->proto != FLAG_UDP || entry->workers <= 0) 397 if (entry->proto != FLAG_UDP || entry->workers <= 0)
398 continue; 398 continue;
399 399
400 socket_set_blocking((int)entry->sock, 1);
401 event_del((int)entry->sock); 400 event_del((int)entry->sock);
402 udp_worker_install(entry->sock); 401 udp_worker_install(entry->sock);
403 402
@@ -409,8 +408,7 @@ static void listen_start_udp_workers(void) {
409 if (sock == -1) { 408 if (sock == -1) {
410 fprintf(stderr, "Warning: could not bind another socket for udp worker %d: %s. Sharing the first instead.\n", worker, strerror(errno)); 409 fprintf(stderr, "Warning: could not bind another socket for udp worker %d: %s. Sharing the first instead.\n", worker, strerror(errno));
411 sock = entry->sock; 410 sock = entry->sock;
412 } else 411 }
413 socket_set_blocking((int)sock, 1);
414 } 412 }
415 udp_worker_install(sock); 413 udp_worker_install(sock);
416 } 414 }
@@ -548,9 +546,10 @@ int main(int argc, char **argv) {
548 listen_start_udp_workers(); 546 listen_start_udp_workers();
549 547
550 server_mainloop(0); 548 server_mainloop(0);
549 udp_workers_deinit();
551 550
552 /* The loop has left, so no thread is serving any more and the teardown 551 /* No thread is serving any more, so the teardown can run where a debugger
553 can run where a debugger and the sanitizers can follow it */ 552 and the sanitizers can follow it */
554 trackerlogic_deinit(); 553 trackerlogic_deinit();
555#ifdef WANT_SYSLOGS 554#ifdef WANT_SYSLOGS
556 closelog(); 555 closelog();