Adds a per-sandbox mutex on top of the file locking, as the latter is useless for locking between threads and worker_init.sh from oioioi utilizes those, not processes.
I have no idea whether there exists a deployment where the workers' concurrency is based on processes on the same system, so I didn't change the file locking behaviour.
This fixes a bug where the first submission on a fresh worker would fail with error messages like "binding not existing location".
It was visible during the recent rejudge on OI.
Adds a per-sandbox mutex on top of the file locking, as the latter is useless for locking between threads and
worker_init.sh
from oioioi utilizes those, not processes. I have no idea whether there exists a deployment where the workers' concurrency is based on processes on the same system, so I didn't change the file locking behaviour.This fixes a bug where the first submission on a fresh worker would fail with error messages like "binding not existing location". It was visible during the recent rejudge on OI.