From d5388d91c8d10845f8a32fe9ce77df0ea552f1ef Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 7 Nov 2023 22:33:32 +0800 Subject: [PATCH] core: re-fetch rdoc after postJudge to prevent race conditions --- packages/hydrooj/src/handler/judge.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/hydrooj/src/handler/judge.ts b/packages/hydrooj/src/handler/judge.ts index d731172b..4694a2ff 100644 --- a/packages/hydrooj/src/handler/judge.ts +++ b/packages/hydrooj/src/handler/judge.ts @@ -139,6 +139,7 @@ export async function end(body: Partial) { await sleep(100); // Make sure that all 'next' event already triggered rdoc = await record.update(rdoc.domainId, body.rid, $set, $push, $unset); await postJudge(rdoc); + rdoc = await record.get(body.rid); bus.broadcast('record/change', rdoc, null, null, body); // trigger a full update }