By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Let a worker put a result a failed resource already put A resource that fails before its tests gives them results, because the thread collecting them waits on every one. Scheduling can stop part-way through a group, though, and the jobs already on the queue still run, so a worker could reach a var that had been filled on its behalf and block on it. That is a worker counted as working forever, which is the hang this mechanism exists to avoid. tryPutMVar, and the result already there wins: it says the resource this test needed failed, which is more use than what the test made of a resource it did not have. No regression test: the window is between a job being queued and a worker reaching it, and I could not close on it deterministically without adding hooks to the runner.
Total
17m09s
Created Started Finished
| Time to Start | Worker time | Duration | Time to finish | Idle | |
|---|---|---|---|---|---|
| Config | 17h53m52s | 0s | 0s | 17h53m53s | 17h53m52s |
| Eval | 18h09m00s | 2m01s | 2m02s | 18h11m02s | 16m08s |
| Build | - | - | - | - | - |
| Suite | 17h53m52s | 2m02s | 17m09s | 18h11m02s | 18h10m00s |