polserver/docs/docs.polserver.com
turleypol 29761c43d6
Disk full no longer crashes during WorldSave (#742)
* preparation
update boost
build stacktrace

* if worldsave i/o operations fail core terminates directly, allow
exceptions in SaveContext deconstructor to prevent this

* link with boost stackstrace

* print exception backtrace when buffering fails

* replaced other forced backtraces with actuals

* test throw

* revert test throw

* register terminate handler and print stacktrace
unsure if it collides with the other signals register

* StreamSaver can terminate in the deconstructor
added PolCore().last_worldsave which returns the gameclock of the last
successfull world save.
SaveWorldState() can now return error "Failed to save world" if the first critical
part fails. Since the second part runs async you have to check the new PolCore member when the last successfull save was.

* fixed cppdap checkout

* catch exceptions in the deconstructor and do not rethrow during stack
unwinding

* fix mac build

* fix apple builds

* helper lambda to get rid of repeating try/catch blocks per datafile
try to set promise in exception cases to guarantee the set
moved account storage into parallel tasks, comment about extra
thread is no longer valid.

* centralized stacktrace
renamed polcore member

* extended comment for clarification

* docs
2025-01-14 20:37:54 +01:00
..
pol100 Disk full no longer crashes during WorldSave (#742) 2025-01-14 20:37:54 +01:00