0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-01 19:22:53 +01:00

modules/m_vm_fetch: Tweak interrupt propagation paths; fix specific propagations.

This commit is contained in:
Jason Volk 2020-04-03 17:37:34 -07:00
parent f941c52dee
commit e089103a30

View file

@ -134,10 +134,6 @@ try
if(opts.fetch_state)
state(event, eval, room);
}
catch(const ctx::interrupted &)
{
throw;
}
catch(const std::exception &e)
{
log::derror
@ -287,10 +283,6 @@ catch(const vm::error &e)
{
throw;
}
catch(const ctx::interrupted &)
{
throw;
}
catch(const std::exception &e)
{
log::error
@ -332,10 +324,6 @@ try
auth_chain, opts
};
}
catch(const ctx::interrupted &)
{
throw;
}
catch(const std::exception &e)
{
log::error
@ -434,6 +422,23 @@ try
++good;
}
catch(const ctx::interrupted &)
{
throw;
}
catch(const vm::error &e)
{
if(e.code == vm::fault::INTERRUPT)
throw;
++fail;
log::derror
{
log, "%s state eval :%s",
loghead(eval),
e.what(),
};
}
catch(const std::exception &e)
{
++fail;
@ -638,6 +643,22 @@ ircd::m::vm::fetch::prev(const event &event,
pdus, opts
};
}
catch(const ctx::interrupted &)
{
throw;
}
catch(const vm::error &e)
{
if(e.code == vm::fault::INTERRUPT)
throw;
log::derror
{
log, "%s prev fetch/eval :%s",
loghead(eval),
e.what(),
};
}
catch(const std::exception &e)
{
log::derror