-
Notifications
You must be signed in to change notification settings - Fork 31k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP net: enable emitclose in socket #36662
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, thank you @RaisinTen |
352ed68
to
38d61ae
Compare
012e034
to
afa462a
Compare
afa462a
to
4db38c2
Compare
I am trying to figure out the test failures, maybe I should mark this draft as ready to run tests in the CI. This implementation is the one that makes more sense to me atm. |
4db38c2
to
175cf08
Compare
// TODO: is this test needed? | ||
// It errors with ERR_HTTP2_NO_SOCKET_MANIPULATION because we are | ||
// calling destroy on the Proxy(ed) socket of the Http2ClientSession | ||
// which causes `emit` to becalled and the error to be thrown. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Calling destroy this way will cause HTTP2_NO_SOCKET_MANIPULATION
, I don't see a way around that atm
// TODO: is this test needed? | ||
// It fails with a timeout error because the `error` event is never emitted. | ||
// `write` doesn't error, is that a good thing? | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While trying different approaches in this PR I saw it is quite easy to cause SIGSEV errors in the tls module, so I might understand why this is here.
175cf08
to
8674991
Compare
8674991
to
b699090
Compare
This is a WIP. It might take a while.
This PR should enable
emitClose
innet.Socket
, ideally without changing any tests.Fixes: #36636
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes