mirror of
https://github.com/curl/curl.git
synced 2026-08-25 15:43:47 +03:00
http2: improved on_stream_close/data_done handling
- there seems to be a code path that cleans up easy handles without triggering DONE or DETACH events to the connection filters. This would explain wh nghttp2 still holds stream user data - add GOOD check to easy handle used in on_close_callback to prevent crashes, ASSERTs in debug builds. - NULL the stream user data early before submitting RST - add checks in on_stream_close() to identify UNGOOD easy handles Reported-by: Hans-Christian Egtvedt Fixes #10936 Closes #12562
This commit is contained in:
parent
ef2cf58c77
commit
35380273b9
3 changed files with 52 additions and 19 deletions
|
|
@ -247,7 +247,7 @@ class ExecResult:
|
|||
if exitcode is not None:
|
||||
for idx, x in enumerate(self.stats):
|
||||
if 'exitcode' in x:
|
||||
assert x['exitcode'] == 0, \
|
||||
assert x['exitcode'] == exitcode, \
|
||||
f'status #{idx} exitcode: expected {exitcode}, '\
|
||||
f'got {x["exitcode"]}\n{self.dump_stat(x)}'
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue