mime: fix unpausing of readers

When unpausing a transfer, check if the reader pause state differs
in addition to the "keepon" flags.

Reported-by: 包布丁
Fixes #18848
Closes #19178
This commit is contained in:
Stefan Eissing 2025-10-21 13:51:10 +02:00 committed by Daniel Stenberg
parent 76d2852550
commit 40f7cd2bdd
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
6 changed files with 68 additions and 14 deletions

View file

@ -671,6 +671,25 @@ class TestUpload:
])
r.check_stats(count=1, http_status=200, exitcode=0)
@pytest.mark.parametrize("proto", ['http/1.1'])
def test_07_63_upload_exp100_paused(self, env: Env, httpd, nghttpx, proto):
read_delay = 1
url = f'https://{env.authority_for(env.domain1, proto)}/curltest/echo?id=[0-0]'\
f'&read_delay={read_delay}s'
upload_size = 128 * 1024
client = LocalClient(name='cli_hx_upload', env=env)
if not client.exists():
pytest.skip(f'example client not built: {client.name}')
r = client.run(args=[
'-n', '1',
'-S', f'{upload_size}',
'-P', '1',
'-M', 'MIME',
'-r', f'{env.domain1}:{env.port_for(proto)}:127.0.0.1',
'-V', proto, url
])
r.check_exit_code(0)
# nghttpx is the only server we have that supports TLS early data and
# has a limit of 16k it announces
@pytest.mark.skipif(condition=not Env.have_nghttpx(), reason="no nghttpx")