-
Notifications
You must be signed in to change notification settings - Fork 469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix windows crash when _exit calls static destructors in dll unload #1357
Conversation
_exit seems to run dll unloading code which calls static destructors. Standrd requires std::_Exit not to call destructors which makes using it attractive in case MSVC actually follows the standard.
@@ -42,6 +42,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences: | |||
- Fixed special characters in `command-prompt` and other non-console in-game outputs on Linux/macOS (in tools using ``df2console``) | |||
- `dwarfmonitor`, `manipulator`: fixed stress cutoffs | |||
- `startdwarf`: fixed on 64-bit Linux | |||
- `die`: Fixed windows crash in the exit handling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Single backticks in RST produce links, in case you were unaware. This requires an anchor named "die" in another file. I think there is one, but there isn't always for C++-implemented commands, so I'll double-check. Just something to keep in mind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Core.rst:
.. _die:
die
---
Instantly kills DF without saving.
looks good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked it exists by generating documentations (I have documentations enabled always to verify links which have been broken couple of times for me.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also docs/build.sh if you don't want to build docs every time that they change when you're working on other things (particularly scripts).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would just forget it. It is better for me to have everything behind as few commands as possible. If I want to optimize my testing temporary then I prefer to use a specific build target to avoid reduce the incremental build time.
Fixes #1356