From 18c1fd0c5206cd9719d143016343c1293434290e Mon Sep 17 00:00:00 2001 From: slhmy Date: Tue, 1 Oct 2024 21:33:58 +0800 Subject: [PATCH] Add compile timeout --- judge-core/src/compiler.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/judge-core/src/compiler.rs b/judge-core/src/compiler.rs index 7461919..6f432a4 100644 --- a/judge-core/src/compiler.rs +++ b/judge-core/src/compiler.rs @@ -11,7 +11,7 @@ const TEMPLATE_ARG_TARGET_PATH: &str = "{target_path}"; const RUST_COMPILE_COMMAND_TEMPLATE: &str = "rustc {src_path} -o {target_path}"; const CPP_COMPILE_COMMAND_TEMPLATE: &str = - "g++ -fmax-include-depth=10 {src_path} -o {target_path} -O2 -static"; + "g++ {src_path} -o {target_path} -O2 -static"; const PYTHON_COMPILE_COMMAND_TEMPLATE: &str = "cp {src_path} {target_path}"; #[derive(Clone)] @@ -163,7 +163,9 @@ impl Compiler { std::fs::remove_file(target_path)?; } - let output = Command::new("sh") + let output = Command::new("timeout") + .arg("30s") // TODO: make timeout configurable + .arg("sh") .arg("-c") .arg( self.command_builder