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

Ensure Client.close() has finished in __aexit__ #9769

Merged
merged 1 commit into from May 5, 2024

Conversation

mikeshardmind
Copy link
Contributor

@mikeshardmind mikeshardmind commented Mar 27, 2024

Summary

This wraps the closing behavior in a task. Subsequent callers of .close() now await that same close finishing rather than short circuiting. This prevents a user-called close outside of aexit from not finishing before no longer having a running event loop.

Checklist

  • If code changes were made then they have been tested.
    • I have updated the documentation to reflect the changes.
  • This PR fixes an issue.
  • This PR adds something new (e.g. new method or parameters).
  • This PR is a breaking change (e.g. methods or parameters removed/renamed)
  • This PR is not a code change (e.g. documentation, README, ...)

discord/client.py Outdated Show resolved Hide resolved
This wraps the closing behavior in a task. Subsequent callers of
.close() now await that same close finishing rather than short
circuiting. This prevents a user-called close outside of __aexit__ from
not finishing before no longer having a running event loop.
@Rapptz Rapptz merged commit 88f62d8 into Rapptz:master May 5, 2024
8 checks passed
@mikeshardmind mikeshardmind deleted the closing-fixes branch May 5, 2024 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants