summaryrefslogtreecommitdiff
path: root/src/linkgraph/linkgraphjob.cpp
AgeCommit message (Collapse)Author
2021-05-15Change: Use gender-neutral pronounsrubidium42
2021-05-15Fix: comparison of narrow type to wide type in loop (potential for infinite ↵Rubidium
loops)
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-25Change: [Linkgraph] Allow job threads to be aborted early when clearing ↵Jonathan G Rennison
schedule (#8416) 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.
2020-12-22Change: [Linkgraph] Pause the game when linkgraph jobs lag (#6470)Jonathan G Rennison
Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-06Codechange: Replace custom thread code with C++11 thread objects.Michael Lutz
We assume a conforming C++11 compiler environment that has a valid <thread>-header. Failure to run a real thread is handled gracefully.
2019-03-26Codechange: Replaced SmallVector::Resize() with std::vector::resize()Henry Wilson
2016-10-30(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) ↵frosch
threads. (JGR)
2015-03-07(svn r27178) -Fix [FS#5969]: Data race due to lazy initialisation of objects.frosch
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-02-16(svn r26347) -Fix [FS#5898]: Make sure link graph jobs can delete themselves ↵fonsinchen
after SLA_NULL.
2014-02-16(svn r26341) -Fix [FS#5902]: Reroute cargo when automatic distribution is ↵fonsinchen
switched off.
2014-01-29(svn r26286) -Fix: Thoroughly erase dead flows.fonsinchen
2013-11-10(svn r25963) -Fix [FS#5758]: Mixtures of old and new flows could create cycles.fonsinchen
2013-10-31(svn r25934) -Fix [FS#5793]: Do not access items from other pools in pool ↵frosch
item destructors during pool cleaning.
2013-10-22(svn r25899) -Change: Restrict flows if links are restricted and don't ↵fonsinchen
normally pick them anymore.
2013-10-19(svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 ↵fonsinchen
are in the back and don't have to be iterated over so often.
2013-07-30(svn r25637) -Fix: don't keep minimal routing information if automatic ↵fonsinchen
distribution has been disabled
2013-06-17(svn r25424) -Fix: keep old flows around in an invalidated state to continue ↵fonsinchen
routing cargo if necessary
2013-06-17(svn r25422) -Fix: properly initialize base capacity for pathsfonsinchen
2013-06-09(svn r25353) -Add: link graph job implementationfonsinchen