From: Serhiy Storchaka Date: Tue, 21 Jul 2026 15:03:20 +0000 (+0300) Subject: gh-154366: Fix test_asyncio.test_sendfile timing out on DragonFly BSD (GH-154367) X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=a6e1b836ec5055cbc8be477ca0c2df0cc12b8cb5;p=thirdparty%2FPython%2Fcpython.git gh-154366: Fix test_asyncio.test_sendfile timing out on DragonFly BSD (GH-154367) A 4 KiB receive buffer makes DragonFly defer every window update to the delayed ACK timer, so each buffer worth of data costs 100 ms. Use a larger socket buffer there; it is still small enough to pause the protocol long before all data is sent. Co-authored-by: Claude Opus 4.8 --- diff --git a/Lib/test/test_asyncio/test_sendfile.py b/Lib/test/test_asyncio/test_sendfile.py index 69ac9a367f6b..c8d429c3d165 100644 --- a/Lib/test/test_asyncio/test_sendfile.py +++ b/Lib/test/test_asyncio/test_sendfile.py @@ -98,7 +98,12 @@ class SendfileBase: # 64 KiB page configuration. DATA = b"x" * (1024 * 17 * 64 + 1) # Reduce socket buffer size to test on relative small data sets. - BUF_SIZE = 4 * 1024 # 4 KiB + if sys.platform.startswith('dragonfly'): + # A smaller buffer makes every window update wait 100 ms for the + # delayed ACK timer. + BUF_SIZE = 32 * 1024 # 32 KiB + else: + BUF_SIZE = 4 * 1024 # 4 KiB def create_event_loop(self): raise NotImplementedError