mirror of
https://github.com/matrix-construct/construct
synced 2024-06-25 05:18:23 +02:00
ircd::net::dns::resolver: Disable interrupt on shutdown; obtain mutex.
This commit is contained in:
parent
e4cdc34bba
commit
299e4a2256
|
@ -132,22 +132,33 @@ ircd::net::dns::resolver::resolver(answers_callback callback)
|
|||
ircd::net::dns::resolver::~resolver()
|
||||
noexcept
|
||||
{
|
||||
log::debug
|
||||
{
|
||||
log, "Shutting down with %zu unfinished DNS resolutions.",
|
||||
tags.size()
|
||||
};
|
||||
|
||||
const ctx::uninterruptible::nothrow ui;
|
||||
if(ns.is_open())
|
||||
ns.close();
|
||||
|
||||
done.wait([this]
|
||||
{
|
||||
const bool ret(tags.empty());
|
||||
if(!ret)
|
||||
if(!tags.empty())
|
||||
log::warning
|
||||
{
|
||||
log, "Waiting for %zu unfinished DNS resolutions",
|
||||
tags.size()
|
||||
};
|
||||
|
||||
return ret;
|
||||
return tags.empty();
|
||||
});
|
||||
|
||||
const std::lock_guard lock
|
||||
{
|
||||
mutex
|
||||
};
|
||||
|
||||
timeout_context.terminate();
|
||||
sendq_context.terminate();
|
||||
recv_context.terminate();
|
||||
|
|
Loading…
Reference in a new issue