From 9885a946e1b801c383c9ff9d1ac5a5774520d09c Mon Sep 17 00:00:00 2001 From: Rapptz Date: Fri, 24 Mar 2017 20:25:38 -0400 Subject: More robust cleanup for Client.run. This should prevent asyncio.CancelledError from being propagated more and suppressed "Task was destroyed but was pending!" warnings when doing graceful closes outside of using a KeyboardInterrupt. To make clean up a bit more robust, also add signal handlers for POSIX systems. --- discord/ext/commands/core.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'discord/ext') diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 04149b2a..03da8804 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -47,6 +47,8 @@ def wrap_callback(coro): ret = yield from coro(*args, **kwargs) except CommandError: raise + except asyncio.CancelledError: + return except Exception as e: raise CommandInvokeError(e) from e return ret @@ -60,6 +62,8 @@ def hooked_wrapped_callback(command, ctx, coro): ret = yield from coro(*args, **kwargs) except CommandError: raise + except asyncio.CancelledError: + return except Exception as e: raise CommandInvokeError(e) from e finally: -- cgit v1.2.3