From 7ecdf7a7be0870fba59d5b59d9610f32d0413568 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Fri, 15 Feb 2019 14:27:01 +1100 Subject: [PATCH] Remove asyncio.Event creation from module level in Audio (#2454) Signed-off-by: Toby Harradine --- redbot/cogs/audio/manager.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 355749242..b1ca4eef3 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -13,7 +13,7 @@ _JavaVersion = Tuple[int, int] log = logging.getLogger("red.audio.manager") proc = None -SHUTDOWN = asyncio.Event() +shutdown = False def has_java_error(pid): @@ -24,13 +24,16 @@ def has_java_error(pid): async def monitor_lavalink_server(loop): - while not SHUTDOWN.is_set(): + global shutdown + while shutdown is False: if proc.poll() is not None: break await asyncio.sleep(0.5) - if not SHUTDOWN.is_set(): + if shutdown is False: + # Lavalink was shut down by something else log.info("Lavalink jar shutdown.") + shutdown = True if not has_java_error(proc.pid): log.info("Restarting Lavalink jar.") await start_lavalink_server(loop) @@ -116,13 +119,16 @@ async def start_lavalink_server(loop): ) log.info("Lavalink jar started. PID: {}".format(proc.pid)) + global shutdown + shutdown = False loop.create_task(monitor_lavalink_server(loop)) def shutdown_lavalink_server(): log.info("Shutting down lavalink server.") - SHUTDOWN.set() + global shutdown + shutdown = True global proc if proc is not None: proc.terminate()