]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to clean up log ids after a failure to start a worker thread.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 7 May 2026 12:42:29 +0000 (14:42 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 7 May 2026 12:42:29 +0000 (14:42 +0200)
daemon/daemon.c
doc/Changelog

index ea4e83e709327eb170e2b0053b8a5aa40e20b8af..9a692c1cbd55264cc62d981b7c7c257facf9530f 100644 (file)
@@ -940,8 +940,10 @@ thread_start(void* arg)
                port_num = 0;
 #endif
        if(!worker_init(worker, worker->daemon->cfg,
-                       worker->daemon->ports[port_num], 0))
+                       worker->daemon->ports[port_num], 0)) {
+               log_thread_set(NULL);
                fatal_exit("Could not initialize thread");
+       }
 
        worker_work(worker);
        return NULL;
@@ -1103,8 +1105,10 @@ daemon_fork(struct daemon* daemon)
 
 #if defined(HAVE_EV_LOOP) || defined(HAVE_EV_DEFAULT_LOOP)
        /* in libev the first inited base gets signals */
-       if(!worker_init(daemon->workers[0], daemon->cfg, daemon->ports[0], 1))
+       if(!worker_init(daemon->workers[0], daemon->cfg, daemon->ports[0], 1)) {
+               log_thread_set(NULL);
                fatal_exit("Could not initialize main thread");
+       }
 #endif
        
        /* Now create the threads and init the workers.
@@ -1117,8 +1121,10 @@ daemon_fork(struct daemon* daemon)
         */
 #if !(defined(HAVE_EV_LOOP) || defined(HAVE_EV_DEFAULT_LOOP))
        /* libevent has the last inited base get signals (or any base) */
-       if(!worker_init(daemon->workers[0], daemon->cfg, daemon->ports[0], 1))
+       if(!worker_init(daemon->workers[0], daemon->cfg, daemon->ports[0], 1)) {
+               log_thread_set(NULL);
                fatal_exit("Could not initialize main thread");
+       }
 #endif
        signal_handling_playback(daemon->workers[0]);
 
index 059a5f19f89dbb9386f0f17041f1f63de34f1ddc..19841b004d00bda85eed01cf9c10af2317bd0a50 100644 (file)
@@ -4,6 +4,7 @@
          large values for num_ports do not overflow and create
          invalid references after integer truncation. Thanks
          to Karnakar Reddy (@karnakarreddi) for the report.
+       - Fix to clean up log ids after a failure to start a worker thread.
 
 1 May 2026: Wouter
        - iana portlist updated.