Added semi-workaround method for network thread shutdown:
Currently closing game while network thread is waiting for something is very bug-prone, since network thread may resume during shutdown and access partially destroyed client state. Now if exit has been requested, the very first step would be semi- graceful shutdown of network thread (via exception throwing). This may in theory skip some cleanup in non-RAII code, but since game is shutting down this does not matters much. This logic applies to: - shutting down while network thread is waiting for dialogs - shuttind down while network thread waiting for animations in combat
This commit is contained in:
1 parent
0dfa781655
commit
9bfe000724
27 files changed
+163
-128
No files matched your search
@@ -142,5 +142,4 @@ Below a list of supported commands, with their arguments wrapped in `<>`
|
||||
`activate <0/1/2>` - activate game windows (no current use, apparently broken long ago)
|
||||
`redraw` - force full graphical redraw
|
||||
`screen` - show value of screenBuf variable, which prints "screen" when adventure map has current focus, "screen2" otherwise, and dumps values of both screen surfaces to .bmp files
|
||||
`not dialog` - set the state indicating if dialog box is active to "no"
|
||||
`tell hs <hero ID> <artifact slot ID>` - write what artifact is present on artifact slot with specified ID for hero with specified ID. (must be called during gameplay)
|
||||
Reference in new issue
Block a user