Skip to content

Use an IORef to hold a reference to the solver/solverClose #3977

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 2 commits into from
Jul 15, 2024

Conversation

goodlyrottenapple
Copy link
Contributor

Fixes (hopefully) #3959 by making the solver/solverClose handles into an IORef. This way, we can be (reasonably) sure that when we write the new handles into the IORef, there will be no other references held to the old ones elsewhere, which was previously preventing the old z3 instance from terminating, leaving a zombie process.

@goodlyrottenapple goodlyrottenapple marked this pull request as ready for review July 12, 2024 13:08
Copy link
Contributor

@geo2a geo2a left a comment

Choose a reason for hiding this comment

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

Peak Haskell!

Copy link
Member

@jberthold jberthold left a comment

Choose a reason for hiding this comment

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

Glorious hack! ✨

@goodlyrottenapple goodlyrottenapple merged commit 560be44 into master Jul 15, 2024
6 checks passed
@goodlyrottenapple goodlyrottenapple deleted the sam/smt-solver-handle-fix branch July 15, 2024 10:28
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.

3 participants