Browse Source

Check if we're closing the event loop before using it.

Should fix #545.
pull/573/head
Rapptz 8 years ago
parent
commit
1e1b02c630
  1. 6
      discord/client.py

6
discord/client.py

@ -454,6 +454,9 @@ class Client:
def _do_cleanup(self):
if self.loop.is_closed() or not self.loop.is_running():
return # we're already cleaning up
self.loop.run_until_complete(self.close())
pending = asyncio.Task.all_tasks(loop=self.loop)
if pending:
@ -469,6 +472,8 @@ class Client:
except:
pass
self.loop.close()
def run(self, *args, **kwargs):
"""A blocking call that abstracts away the `event loop`_
initialisation from you.
@ -503,7 +508,6 @@ class Client:
pass
finally:
self._do_cleanup()
self.loop.close()
# properties

Loading…
Cancel
Save