diff --git a/src/snek/system/docker.py b/src/snek/system/docker.py index 8271e5d..dfa3c28 100644 --- a/src/snek/system/docker.py +++ b/src/snek/system/docker.py @@ -156,7 +156,14 @@ class ComposeFileManager: ) if name in self.running_instances: del self.running_instances[name] - stdout, stderr = await proc.communicate() + stdout, stderr = None, None + while proc.returncode is None: + try: + stdout, stderr = await proc.communicate() + except Exception as ex: + stdout = b'' + stderr = str(ex).encode() + await self.event_handler(name,"stdout",stdout or stderr) if proc.returncode != 0: raise RuntimeError(f"Failed to stop {name}: {stderr.decode()}") if stdout: