Fix memory leak when init_asio produces an error (develop branch) #454
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Version of #453 on the develop branch. Description copied from there:
Currently the init_asio functions that don't use an external io_service will leak the memory if an error is generated. This uses a smart pointer to temporarily hold the new io_service until it is confirmed the function has completed successfully and ownership taken.
Couldn't use a unique_ptr because this wouldn't work with non-C++11 systems. Couldn't use shared_ptr because it has no release() method.