Skip to content

Commit 086bb2f

Browse files
TrottBethGriggs
authored andcommitted
Revert "src: let http2 streams end after session close"
This reverts commit dee882e. Moved the test that demonstrated what this commit was fixing to the `known_issues` folder. Fixes: #46234 PR-URL: #46721 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Debadree Chatterjee <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Richard Lau <[email protected]>
1 parent 2497216 commit 086bb2f

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

src/node_http2.cc

-11
Original file line numberDiff line numberDiff line change
@@ -1115,17 +1115,6 @@ int Http2Session::OnStreamClose(nghttp2_session* handle,
11151115
if (!stream || stream->is_destroyed())
11161116
return 0;
11171117

1118-
// Don't close synchronously in case there's pending data to be written. This
1119-
// may happen when writing trailing headers.
1120-
if (code == NGHTTP2_NO_ERROR && nghttp2_session_want_write(handle) &&
1121-
!env->is_stopping()) {
1122-
env->SetImmediate([handle, id, code, user_data](Environment* env) {
1123-
OnStreamClose(handle, id, code, user_data);
1124-
});
1125-
1126-
return 0;
1127-
}
1128-
11291118
stream->Close(code);
11301119

11311120
// It is possible for the stream close to occur before the stream is

test/parallel/test-http2-trailers-after-session-close.js test/known_issues/test-http2-trailers-after-session-close.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
'use strict';
22

3+
// Fixes: https://github.com/nodejs/node/issues/42713
34
const common = require('../common');
4-
if (!common.hasCrypto)
5+
if (!common.hasCrypto) {
6+
// Remove require('assert').fail when issue is fixed and test
7+
// is moved out of the known_issues directory.
8+
require('assert').fail('missing crypto');
59
common.skip('missing crypto');
10+
}
611
const assert = require('assert');
712
const http2 = require('http2');
813

@@ -31,7 +36,7 @@ server.listen(0, common.mustCall(() => {
3136
client.socket.on('close', common.mustCall());
3237
const req = client.request({
3338
[HTTP2_HEADER_PATH]: '/',
34-
[HTTP2_HEADER_METHOD]: 'POST'
39+
[HTTP2_HEADER_METHOD]: 'POST',
3540
});
3641
req.end();
3742
req.on('response', common.mustCall());

0 commit comments

Comments
 (0)