From 484b8f20b6a89ceb6234a2a087520ffbc9456da6 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Tue, 18 Mar 2025 00:52:57 +0530 Subject: [PATCH] gh-131325: fix sendfile fallback implementation to drain data after writing to transport (GH-131376) (cherry picked from commit 94f4d87aeb4d2d7bddcb4c3aad4f62a727ac91ee) Co-authored-by: Kumar Aditya --- Lib/asyncio/base_events.py | 2 +- .../next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 136c1631822427..813a85dbc39d57 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -1264,8 +1264,8 @@ async def _sendfile_fallback(self, transp, file, offset, count): read = await self.run_in_executor(None, file.readinto, view) if not read: return total_sent # EOF - await proto.drain() transp.write(view[:read]) + await proto.drain() total_sent += read finally: if total_sent > 0 and hasattr(file, 'seek'): diff --git a/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst b/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst new file mode 100644 index 00000000000000..6c1f64eee6ad02 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-03-17-18-50-39.gh-issue-131325.wlasMF.rst @@ -0,0 +1 @@ +Fix sendfile fallback implementation to drain data after writing to transport in :mod:`asyncio`.