-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
judge: implement instant aborts #1148
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #1148 +/- ##
==========================================
- Coverage 81.26% 81.23% -0.04%
==========================================
Files 141 141
Lines 5034 5030 -4
==========================================
- Hits 4091 4086 -5
- Misses 943 944 +1 ☔ View full report in Codecov by Sentry. |
041136c
to
662a312
Compare
This would have caught a failure on DMOJ#1148.
This would have caught a failure on DMOJ#1148.
This would have caught a failure on #1148.
662a312
to
4c1b538
Compare
The way this works is: - Worker creates a tempdir, and sets `tempfile.tempdir` to this directory. - Worker sends back the tempdir. The parent process is responsible for cleaning it up when the worker exits. Abortions are then implemented as sending `SIGKILL` to the worker. As a side benefit of this implementation, we also get to drop the hacky `CompiledExecutor` cache deletion.
The way this works is:
tempfile.tempdir
to this directory.it up when the worker exits.
Abortions are then implemented as sending
SIGKILL
to the worker.As a side benefit of this implementation, we also get to drop the hacky
CompiledExecutor
cache deletion.