mirror of
https://github.com/matrix-construct/construct
synced 2025-02-18 01:30:12 +01:00
ircd::server: Bail out of resolve handlers in case of unexpected callbacks.
This commit is contained in:
parent
d750958f4c
commit
222d8404f1
1 changed files with 7 additions and 3 deletions
|
@ -1601,7 +1601,8 @@ ircd::server::peer::handle_resolve_SRV(const hostport &hp,
|
|||
try
|
||||
{
|
||||
assert(op_resolve);
|
||||
op_resolve = false;
|
||||
if(unlikely(!std::exchange(op_resolve, false)))
|
||||
return;
|
||||
|
||||
if(unlikely(ircd::run::level != ircd::run::level::RUN))
|
||||
op_fini = true;
|
||||
|
@ -1684,7 +1685,8 @@ ircd::server::peer::handle_resolve_AAAA(const hostport &target,
|
|||
try
|
||||
{
|
||||
assert(op_resolve);
|
||||
op_resolve = false;
|
||||
if(unlikely(!std::exchange(op_resolve, false)))
|
||||
return;
|
||||
|
||||
if(unlikely(ircd::run::level != ircd::run::level::RUN))
|
||||
op_fini = true;
|
||||
|
@ -1768,8 +1770,10 @@ ircd::server::peer::handle_resolve_A(const hostport &target,
|
|||
try
|
||||
{
|
||||
const ctx::critical_assertion ca;
|
||||
|
||||
assert(op_resolve);
|
||||
op_resolve = false;
|
||||
if(unlikely(!std::exchange(op_resolve, false)))
|
||||
return;
|
||||
|
||||
if(unlikely(ircd::run::level != ircd::run::level::RUN))
|
||||
op_fini = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue