Skip to content

fix(watcher): enforce time limit by wall clock instead of RLIMIT_CPU - #323

Open
ZnPdCo wants to merge 1 commit into
Project-LemonLime:masterfrom
ZnPdCo:fix/watcher-wall-clock-time-limit
Open

ZnPdCo wants to merge 1 commit into
Project-LemonLime:masterfrom
ZnPdCo:fix/watcher-wall-clock-time-limit

Conversation

@ZnPdCo

@ZnPdCo ZnPdCo commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

RLIMIT_CPU 限制 CPU time,而主程序仅测量 user time,这会导致部分程序提前结束运行。同时,sleep 这类没有产生 cpu time 的程序会显示成内部错误,不美观。

现在 watcher 从主进程接收 extra wall-clock 限制,并使用 timerfd + pidfd 或 kqueue 来进行时间限制。超时后杀死子进程,并报告 TLE。

@ZnPdCo
ZnPdCo marked this pull request as ready for review November 6, 2026 23:10

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant