From: Aki Tuomi Date: Tue, 3 Feb 2015 19:08:31 +0000 (+0200) Subject: Try to raise open files before dropping privileges X-Git-Tag: rec-3.7.0-rc2~3^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6414fdce9b0ec32c340d1f2eea2254f3fedc1c1;p=pdns Try to raise open files before dropping privileges --- diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index aa439795c..96251311a 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -2030,6 +2030,9 @@ int serviceMain(int argc, char*argv[]) signal(SIGPIPE,SIG_IGN); writePid(); makeControlChannelSocket( ::arg().asNum("processes") > 1 ? forks : -1); + g_numThreads = ::arg().asNum("threads") + ::arg().mustDo("pdns-distributes-queries"); + g_maxMThreads = ::arg().asNum("max-mthreads"); + checkOrFixFDS(); int newgid=0; if(!::arg()["setgid"].empty()) @@ -2048,14 +2051,11 @@ int serviceMain(int argc, char*argv[]) } Utility::dropUserPrivs(newuid); - g_numThreads = ::arg().asNum("threads") + ::arg().mustDo("pdns-distributes-queries"); makeThreadPipes(); g_tcpTimeout=::arg().asNum("client-tcp-timeout"); g_maxTCPPerClient=::arg().asNum("max-tcp-per-client"); - g_maxMThreads=::arg().asNum("max-mthreads"); - checkOrFixFDS(); if(g_numThreads == 1) { L<