Change workaround for the dynamic core#5718
Open
henk717 wants to merge 3 commits intojoncampbell123:masterfrom
Open
Change workaround for the dynamic core#5718henk717 wants to merge 3 commits intojoncampbell123:masterfrom
henk717 wants to merge 3 commits intojoncampbell123:masterfrom
Conversation
…y with dynamic core" This reverts commit 6e6ec14.
Owner
|
Odd, I've been using the dynamic core code in question every time Windows 98 wants to reboot the system without any problems, Linux x86_64. |
Owner
|
The idea with how DOSBox-X does it is that it signals the desire to reset and then lets the CPU core finish executing instructions. Throwing a C++ exception with dynamic core may happen to work in Win32 but for most platforms, the C++ runtime cannot unwind the stack properly because it doesn't recognize anything that was dynamically generated. If that method is causing DOSBox-X to hang, then additional work needs to be done so that on the CPU reset signal the core or normal loop needs to make sure it exits the core loop and then throws the desired exception. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The existing workaround for the dynamic core hangs the process instead of crashing, it made the workaround worse than the original situation. This PR undoes the problematic commit and replaces it will a full restart command automatically relaunching the process.
What issue(s) does this PR address?
#5584
Does this PR introduce new feature(s)?
No
Does this PR introduce any breaking change(s)?
The entire software is now restarted, this does not break for me but I can't rule this out on more exotic configurations.
Additional information
I totally get it if you'd rather not merge this quick workaround, but as this Daum style restart solves the issue for me I wanted to offer the changes to motivate the issue being fixed.