mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-32410: Avoid blocking on file IO in sendfile fallback code (GH-7172)
This commit is contained in:
parent
416c1ebd98
commit
7165754b6b
5 changed files with 24 additions and 2 deletions
|
@ -1818,12 +1818,15 @@ class BaseLoopSockSendfileTests(test_utils.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.__old_bufsize = constants.SENDFILE_FALLBACK_READBUFFER_SIZE
|
||||
constants.SENDFILE_FALLBACK_READBUFFER_SIZE = 1024 * 16
|
||||
with open(support.TESTFN, 'wb') as fp:
|
||||
fp.write(cls.DATA)
|
||||
super().setUpClass()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
constants.SENDFILE_FALLBACK_READBUFFER_SIZE = cls.__old_bufsize
|
||||
support.unlink(support.TESTFN)
|
||||
super().tearDownClass()
|
||||
|
||||
|
|
|
@ -2160,6 +2160,17 @@ class SockSendfileMixin(SendfileBase):
|
|||
async def wait_closed(self):
|
||||
await self.fut
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.__old_bufsize = constants.SENDFILE_FALLBACK_READBUFFER_SIZE
|
||||
constants.SENDFILE_FALLBACK_READBUFFER_SIZE = 1024 * 16
|
||||
super().setUpClass()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
constants.SENDFILE_FALLBACK_READBUFFER_SIZE = cls.__old_bufsize
|
||||
super().tearDownClass()
|
||||
|
||||
def set_socket_opts(self, sock):
|
||||
# On macOS, SO_SNDBUF is reset by connect(). So this method
|
||||
# should be called after the socket is connected.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue