Skip to content

Fix lockup involving specific mount order #2310

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

Merged
merged 5 commits into from
Mar 5, 2023
Merged

Fix lockup involving specific mount order #2310

merged 5 commits into from
Mar 5, 2023

Conversation

kcgen
Copy link
Member

@kcgen kcgen commented Mar 5, 2023

Fixes #2304, which reports that Staging locks up when a floppy image is mounted before a CDROM image, followed by accessing the mounted floppy drive.

This lockup is caused by the device scanning routine added in 598de87, which enters and endless loop.

This PR adds some basic routines to walk and query the DOS device linked list, and uses them in function to replace the one that locks up.

To prove that we can trust the replacement function, an intermediate commit compares its results against the original function'd results using asserts (which indeed pass in all of the tests I've thrown at it, including scanning the win 3.11 device drivers).

Finally the PR pivots to use the replacement function, along with making use of the new functions in the MSCDEX code.

Thanks to @distantvale for catching this.

@kcgen kcgen self-assigned this Mar 5, 2023
@kcgen kcgen added the regression We broke something 😊 label Mar 5, 2023
@kcgen kcgen requested review from FeralChild64 and johnnovak March 5, 2023 02:13
Copy link
Member

@johnnovak johnnovak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good @kcgen

@kcgen kcgen force-pushed the kc/dev-loop-1 branch 2 times, most recently from a8868bf to 40c4e53 Compare March 5, 2023 03:21
@kcgen
Copy link
Member Author

kcgen commented Mar 5, 2023

Thanks for the detailed review @johnnovak - much improved.

@kcgen kcgen merged commit 9a374d8 into main Mar 5, 2023
@kcgen kcgen deleted the kc/dev-loop-1 branch March 29, 2023 17:40
@johnnovak johnnovak added the DOS Issues related to DOS integration or DOS commands label Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DOS Issues related to DOS integration or DOS commands regression We broke something 😊
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Floppy drive access through imgmount causes DOSBox to hang if mounted before CDROM folder mounting
2 participants