-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
tls: re-enable .writev()
on TLSWrap
#1155
Conversation
Fix the `parallel/test-tls-over-http-tunnel.js` on Windows by re-enabling the accidentally disabled `.writev()` method on TLSWrap. It appears that there is some subtle issue with shutdown timing and it manifests itself when the chunks are written in separate packets. This leads to concurrent `shutdown`/`destroy`, which breaks the test.
UPDATE: I was able to reproduce this problem on io.js prior to StreamBase changes after removing |
cc @iojs/crypto @bnoordhuis seems to be an obvious change |
This is fine, because they are queued in TLSWrap On Saturday, March 14, 2015, Bert Belder [email protected] wrote:
|
It isn't, because this causes the socket to be destroyed before all writes are flushed (What happens is that |
Aah, well... This is a TLSWrap bug anyway, not StreamBase On Saturday, March 14, 2015, Bert Belder [email protected] wrote:
|
On a second thought, it is very interesting case. This imbalance is happening because |
@piscisaureus LGTY? |
@indutny lgtm! |
Fix the `parallel/test-tls-over-http-tunnel.js` on Windows by re-enabling the accidentally disabled `.writev()` method on TLSWrap. It appears that there is some subtle issue with shutdown timing and it manifests itself when the chunks are written in separate packets. This leads to concurrent `shutdown`/`destroy`, which breaks the test. PR-URL: #1155 Reviewed-By: Bert Belder <[email protected]>
Landed in 4eb8810, thank you! |
Fix the
parallel/test-tls-over-http-tunnel.js
on Windows byre-enabling the accidentally disabled
.writev()
method on TLSWrap.It appears that there is some subtle issue with shutdown timing and it
manifests itself when the chunks are written in separate packets. This
leads to concurrent
shutdown
/destroy
, which breaks the test.cc @piscisaureus
It appears that removing
writev
in io.js prior to StreamBase does not introduce this problem, but this patch fixes the problem without touching the test. I propose landing it, and meanwhile I'll investigate more.