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

replace smart_ref with shared_ptr #1556

Merged
merged 7 commits into from Feb 18, 2019

Conversation

Projects
4 participants
@jmjatlanta
Copy link
Contributor

commented Feb 5, 2019

Potential fix for #1548

The use of fc::smart_ref was to allow for compilation of current_fees while there is a circular reference between fee_schedule, chain_parameters, and operations. But its use is problematic (build errors).

One potential replacement was to switch to unique_ptr. Unfortunately, this does not permit circular references (no copies allowed, full implementation needed for destruction).

shared_ptr will allow circular references. This PR uses shared_ptr to replace fc::smart_ref

jmjatlanta added some commits Feb 1, 2019

@abitmore abitmore added this to In development in Feature Release (3.1.0) via automation Feb 5, 2019

@abitmore abitmore added this to the Future Feature Release milestone Feb 5, 2019

@pmconrad pmconrad added this to In Development in Protocol Upgrade Release (3.0.0) via automation Feb 6, 2019

@pmconrad pmconrad removed this from In development in Feature Release (3.1.0) Feb 6, 2019

@ryanRfox ryanRfox added this to In development in Feature Release (3.1.0) via automation Feb 12, 2019

@ryanRfox ryanRfox removed this from In Development in Protocol Upgrade Release (3.0.0) Feb 12, 2019

@jmjatlanta jmjatlanta referenced this pull request Feb 15, 2019

Merged

Removal of smart_ref #109

@jmjatlanta

This comment has been minimized.

Copy link
Contributor Author

commented Feb 15, 2019

I believe all to be fine with this PR, but am attempting to test some backward-compatibility stuff, to assure that nodes with and without this change still play well together. When testing is complete, I will merge this in.

@jmjatlanta jmjatlanta merged commit 34c5ad3 into develop Feb 18, 2019

3 checks passed

ci/dockercloud Your tests passed in Docker Cloud
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

Feature Release (3.1.0) automation moved this from In development to Done Feb 18, 2019

@jmjatlanta jmjatlanta deleted the jmj_1548 branch Feb 18, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.