[Pdns-dev] receiver-threads

bert hubert bert.hubert at netherlabs.nl
Wed May 12 21:20:49 CEST 2010


Hi David,

Let me start by thanking you for your attention to the PowerDNS source code
- it is much appreciated.

Please find my responses below:

On Wed, May 12, 2010 at 10:53:29AM -0700, David Hawthorne wrote:

>                 pthread_create(&qtid, 0, qthread, reinterpret_cast<void *>(n));        // receives packets
>         }
> 
>         void *p;
>         pthread_join(qtid, &p);
> 
>         L << Logger::Error << "Mainthread exiting - should never happen" << endl;
> 
> With only one qtid, pthread_join will always act on the last thread
> created, and exit if just that one thread dies.  I'm guessing this is why
> pdns.conf doesn't document the receiver-threads option?  Or are there
> other issues with this option? 

Receiver-threads is indeed an experimental option. Even when it is set to a
number higher than 1 however, none of the threads is ever expected to
terminate. 

In terms of debugging output, it might be nice to wait on all of the
threads, but using the stock POSIX API is far from easy to wait on a number
of threads simultaneously.

So what you've discovered is some low quality error reporting, but nothing
that will affect operations.

Cheers,

Bert


More information about the Pdns-dev mailing list