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 a bug in finaliser handling #1908

Merged
merged 1 commit into from
May 14, 2017
Merged

Fix a bug in finaliser handling #1908

merged 1 commit into from
May 14, 2017

Conversation

sylvanc
Copy link
Contributor

@sylvanc sylvanc commented May 14, 2017

Previously, the finaliser bitmap was being checked against the slot
bitmap, and if the slot had not been freed, the loop continued. This
resulted in an infinite loop for a small chunk with allocations that
were both still in use and had finalisers. This change ANDs the
finaliser bitmap with the slot bitmap before running finalisers,
fixing this problem.

Previously, the finaliser bitmap was being checked against the slot
bitmap, and if the slot had not been freed, the loop continued. This
resulted in an infinite loop for a small chunk with allocations that
were both still in use and had finalisers. This change ANDs the
finaliser bitmap with the slot bitmap before running finalisers,
fixing this problem.
@sylvanc sylvanc added the changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge label May 14, 2017
@sylvanc sylvanc merged commit 2e6974a into master May 14, 2017
ponylang-main added a commit that referenced this pull request May 14, 2017
@SeanTAllen SeanTAllen deleted the fix-finalisers branch May 14, 2017 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant