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

Avoid the Defer-Disconnect destructor pattern with Boost.Coroutines #7485

Merged
merged 1 commit into from
Sep 9, 2019

Conversation

dnsmichi
Copy link
Contributor

@dnsmichi dnsmichi commented Sep 9, 2019

Exceptions in Disconnect() might be thrown (this has been reworked
into error_code locally) which are swallowed inside the Destructor
for being dangerous. On the other hand, swallowing them may
corrupt the stack unwinding operation from the coroutine layer.

The best is to avoid Defer inside lib/remote and call Disconnect()
directly after breaking from other operations.

refs #7351
refs #7431

Exceptions in Disconnect() might be thrown (this has been reworked
into error_code locally) which are swallowed inside the Destructor
for being dangerous. On the other hand, swallowing them may
corrupt the stack unwinding operation from the coroutine layer.

The best is to avoid Defer inside lib/remote and call Disconnect()
directly after breaking from other operations.

refs #7351
refs #7431
@dnsmichi dnsmichi added area/distributed Distributed monitoring (master, satellites, clients) bug Something isn't working core/build-fix Follow-up fix, not released yet labels Sep 9, 2019
@dnsmichi dnsmichi added this to the 2.11.0 milestone Sep 9, 2019
@dnsmichi dnsmichi merged commit b3c48e7 into master Sep 9, 2019
@dnsmichi dnsmichi deleted the bugfix/api-disconnect-defer branch September 16, 2019 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/distributed Distributed monitoring (master, satellites, clients) bug Something isn't working core/build-fix Follow-up fix, not released yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant