From 00ac1c957a0c0ebce49f70184c3792b975eb7b36 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 6 Jan 2023 02:28:00 +0800 Subject: [PATCH] judge: fix stdioLimit for fileIO problems --- packages/hydrojudge/src/sandbox.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/hydrojudge/src/sandbox.ts b/packages/hydrojudge/src/sandbox.ts index 8d7efc56..e86f1909 100644 --- a/packages/hydrojudge/src/sandbox.ts +++ b/packages/hydrojudge/src/sandbox.ts @@ -40,8 +40,6 @@ interface Parameter { env?: Record; /** redirect stdin & stdout */ filename?: string; - /** In megabytes */ - stdioLimit?: number; } interface SandboxAdaptedResult { @@ -75,9 +73,12 @@ function proc(params: Parameter): Cmd { ? params.copyOut : (params.copyOut || []).map((i) => (i.endsWith('?') ? i.substring(0, i.length - 1) : i)); const stdioLimit = parseMemoryMB(getConfig('stdio_size')); - const stdioSize = params.stdioLimit || params.cacheStdoutAndStderr ? stdioLimit : 4; + const stdioSize = params.cacheStdoutAndStderr ? stdioLimit : 4; const copyOutCached = [...(params.copyOutCached || [])]; - if (params.cacheStdoutAndStderr) copyOutCached.push(params.filename ? `${params.filename}.out?` : 'stdout', 'stderr'); + if (params.cacheStdoutAndStderr) { + copyOutCached.push('stdout', 'stderr'); + if (params.filename) copyOutCached.push(`${params.filename}.out?`); + } const copyIn = { ...(params.copyIn || {}) }; const stdin = params.stdin || { content: '' }; if (params.filename) copyIn[`${params.filename}.in`] = stdin;