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

Garbage collect actors when --ponynoblock is in use #2307

Merged
merged 1 commit into from
Nov 1, 2017

Conversation

SeanTAllen
Copy link
Member

Prior to this commit, actors wouldn't be garbage collected when using
--ponynoblock. With this change, any actors that aren't part of a cycle
will be garbage collected if they can no longer do work.

Before this change, using --ponynoblock with an application that
created transient actors would result in never ending memory growth as
the actors would never be gc'd. You can see an example of this by taking
a Pony program that listens for TCP connections and do a repeating cycle
of open/close. None of the created TCPConnection actors would be
garbage collected.

Closes #2306

@SeanTAllen SeanTAllen requested a review from sylvanc October 27, 2017 02:26
@SeanTAllen SeanTAllen changed the title Garbage collector actors when --ponynoblock is in use Garbage collect actors when --ponynoblock is in use Oct 27, 2017
@SeanTAllen SeanTAllen added the changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge label Oct 27, 2017
Prior to this commit, actors wouldn't be garbage collected when using
--ponynoblock. With this change, any actors that aren't part of a cycle
will be garbage collected if they can no longer do work.

Before this change, using `--ponynoblock` with an application that
created transient actors would result in never ending memory growth as
the actors would never be gc'd. You can see an example of this by taking
a Pony program that listens for TCP connections and do a repeating cycle
of open/close. None of the created `TCPConnection` actors would be
garbage collected.

Closes #2306
@SeanTAllen SeanTAllen force-pushed the gc-actors-with-ponynoblock branch from c8129a9 to 7c0ba75 Compare October 27, 2017 02:29
@Praetonus
Copy link
Member

One OSX CI build failed on the process/STDIN-WriteBuf test. I've restarted the job.

@SeanTAllen SeanTAllen merged commit 2d7fc46 into master Nov 1, 2017
@SeanTAllen SeanTAllen deleted the gc-actors-with-ponynoblock branch November 1, 2017 19:38
ponylang-main added a commit that referenced this pull request Nov 1, 2017
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.

Actor finalisers dont run if --ponynoblock is used
2 participants