0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-10 14:08:56 +02:00

ircd:Ⓜ️:vm: Skip existential check for issued events.

This commit is contained in:
Jason Volk 2020-05-11 21:56:47 -07:00
parent 3af0ebe53a
commit d46b6bb27b

View file

@ -249,7 +249,7 @@ try
// returning fault::EXISTS after an existence check. If we had to wait for
// a duplicate eval this check will indicate its success.
if(likely(!opts.replays && opts.nothrows & fault::EXISTS) && event.event_id)
if(m::exists(event.event_id))
if(!eval.copts && m::exists(event.event_id))
return fault::EXISTS;
// Set a member pointer to the event currently being evaluated. This
@ -586,7 +586,7 @@ ircd::m::vm::execute_pdu(eval &eval,
fault::EXISTS, "Event is already being evaluated."
};
if(likely(!opts.replays) && m::exists(event_id))
if(likely(!opts.replays) && !eval.copts && m::exists(event_id))
throw error
{
fault::EXISTS, "Event has already been evaluated."