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

Add Rundown behavior to DispatchQueue #955

Merged
merged 1 commit into from
May 23, 2016
Merged

Add Rundown behavior to DispatchQueue #955

merged 1 commit into from
May 23, 2016

Conversation

codemercenary
Copy link
Contributor

This behavior is necessary to get the CoreThread teardown behavior to function properly. It is also specifically mentioned in the documentation for Abort, so it's probably a good idea that we actually implement it.

Also use this behavior in CoreThread::DoRunLoopCleanup. There is a race condition that occurs in the current implementation which can arise when a lambda is pended at about the same time as termination happens; this lambda can sometimes be leaked.

This behavior is necessary to get the `CoreThread` teardown behavior to function properly.  It is also specifically mentioned in the documentation for `Abort`, so it's probably a good idea that we actually implement it.

Also use this behavior in `CoreThread::DoRunLoopCleanup`.  There is a race condition that occurs in the current implementation which can arise when a lambda is pended at about the same time as termination happens; this lambda can sometimes be leaked.
@yeswalrus
Copy link
Contributor

Reviewed, looks good.

@yeswalrus yeswalrus merged commit c8fdffb into master May 23, 2016
@yeswalrus yeswalrus deleted the feature-rundown branch May 23, 2016 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants