sio2project / sioworkers

GNU General Public License v3.0
11 stars 22 forks source link

(SIO-2493) Use per-sandbox locks between threads #15

Closed A-dead-pixel closed 1 year ago

A-dead-pixel commented 1 year ago

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.