Change: [Linkgraph] Allow job threads to be aborted early when clearing schedule #8416
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation / Problem
Long running link graph jobs running in separate threads continue running until completion when the game state is cleared due to one of: abandoning game, loading replacement game, exiting game.
This causes the game and user interface to be unnecessarily blocked by joining the job thread when the result will be discarded.
Description
When link graph jobs are cleared due to abandoning the game or exiting, flag the job as aborted.
The link graph job running in a separate thread checks the aborted flag periodically and terminates processing early if set.
This reduces the delay at game abandon or exit if a long-running job would otherwise still be running.
Limitations
N/A
Checklist for review
PR justification: #7081 (review)