Skip to content
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

Merged
merged 4 commits into from
Jul 10, 2018

Conversation

suokko
Copy link
Contributor

@suokko suokko commented Jul 10, 2018

Fixes #1356

_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
Copy link
Member

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.

Copy link
Member

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

Copy link
Contributor Author

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.)

Copy link
Member

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).

Copy link
Contributor Author

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.

@lethosor lethosor merged commit 988a5a7 into DFHack:develop Jul 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants