From: JINMEI Tatuya Date: Wed, 14 Nov 2012 06:09:22 +0000 (-0800) Subject: [2459] some more comments about datasrc locking. suggested by muks. X-Git-Tag: trac2487_base~1^2~19^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8f4e6ef30b3078b8720b618efdacfb4fb186ad9f;p=thirdparty%2Fkea.git [2459] some more comments about datasrc locking. suggested by muks. --- diff --git a/src/bin/auth/auth_srv.cc b/src/bin/auth/auth_srv.cc index dca8fd0fc2..26a8489bcb 100644 --- a/src/bin/auth/auth_srv.cc +++ b/src/bin/auth/auth_srv.cc @@ -651,9 +651,10 @@ AuthSrvImpl::processNormalQuery(const IOMessage& io_message, Message& message, local_edns->setUDPSize(AuthSrvImpl::DEFAULT_LOCAL_UDPSIZE); message.setEDNS(local_edns); } - // Get access to data source client list through the holder and keep the - // holder until the processing and rendering is done to avoid inter-thread - // race. + + // Get access to data source client list through the holder and keep + // the holder until the processing and rendering is done to avoid + // race with any other thread(s) such as the background loader. auth::DataSrcClientsMgr::Holder datasrc_holder(datasrc_clients_mgr_); try { @@ -688,6 +689,9 @@ AuthSrvImpl::processNormalQuery(const IOMessage& io_message, Message& message, return (true); // The message can contain some data from the locked resource. But outside // this method, we touch only the RCode of it, so it should be safe. + + // Lock on datasrc_clients_mgr_ acquired by datasrc_holder is + // released here upon its deletion. } bool