mirror of
https://github.com/matrix-construct/construct
synced 2024-05-19 03:13:47 +02:00
ircd:Ⓜ️:vm: Fix propagation of faults to evaluator as expected by opts mask.
This commit is contained in:
parent
a2b7c172c7
commit
336f740036
|
@ -254,7 +254,7 @@ ircd::m::vm::execute(eval &eval,
|
||||||
0UL
|
0UL
|
||||||
};
|
};
|
||||||
|
|
||||||
for(k = 0; k < j; ++k, ++eval.evaluated) try
|
for(k = 0; k < j; ++k, ++eval.evaluated)
|
||||||
{
|
{
|
||||||
const bool exists
|
const bool exists
|
||||||
(
|
(
|
||||||
|
@ -282,21 +282,6 @@ ircd::m::vm::execute(eval &eval,
|
||||||
if(likely(fault == fault::ACCEPT || exists))
|
if(likely(fault == fault::ACCEPT || exists))
|
||||||
handle_fault(opts, fault, event.event_id?: eval.event_id, string_view{});
|
handle_fault(opts, fault, event.event_id?: eval.event_id, string_view{});
|
||||||
}
|
}
|
||||||
catch(const ctx::interrupted &)
|
|
||||||
{
|
|
||||||
++eval.faulted;
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
catch(const std::exception &)
|
|
||||||
{
|
|
||||||
++eval.faulted;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
++eval.faulted;
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return fault::ACCEPT;
|
return fault::ACCEPT;
|
||||||
|
|
Loading…
Reference in a new issue