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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the impact of leaking Editor, Selection, & Cursor objects #13523

Merged
merged 11 commits into from Jan 4, 2017

Conversation

Projects
None yet
2 participants
@maxbrunsfeld
Contributor

maxbrunsfeld commented Dec 31, 2016

It is pretty easy for 3rd party Atom packages to accidentally introduce memory leaks, causing destroyed TextEditor objects to be retained on the heap indefinitely. This PR updates editors and their sub-objects to do a more aggressive teardown when they are destroyed, so that leaking these objects will have a negligible impact on Atom's memory usage, even for large files.

See also atom/text-buffer#193

馃崘'd with @nathansobo

maxbrunsfeld added some commits Dec 31, 2016

Reduce the impact of leaking Editor, Selection, & Cursor objects
Signed-off-by: Nathan Sobo <nathan@github.com>

maxbrunsfeld added some commits Jan 3, 2017

Don't throw exceptions when using editor APIs after destroying the ed鈥
鈥tor

Signed-off-by: Nathan Sobo <nathan@github.com>
猬嗭笍 text-buffer (prerelease)
Signed-off-by: Nathan Sobo <nathan@github.com>

@maxbrunsfeld maxbrunsfeld merged commit d9de1c1 into master Jan 4, 2017

0 of 4 checks passed

ci/circleci CircleCI is running your tests
Details
continuous-integration/appveyor/branch Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
continuous-integration/travis-ci/push The Travis CI build is in progress
Details

@maxbrunsfeld maxbrunsfeld deleted the mb-ns-mitigate-leaks branch Jan 4, 2017

@nathansobo

This comment has been minimized.

Show comment
Hide comment
@nathansobo

nathansobo Jan 4, 2017

Contributor

鈿★笍

Contributor

nathansobo commented Jan 4, 2017

鈿★笍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment