diff options
author | isaacs <i@izs.me> | 2013-02-14 08:57:32 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2013-02-14 16:03:40 -0800 |
commit | c9dcf5718cf47322b00f2994797aebb68d7ed0fb (patch) | |
tree | 2976b29dbf04750aa51c0e6768271fd16cab0430 /deps | |
parent | 3e2be6f39f70b444294a094cd47441b0107b2c35 (diff) | |
download | node-c9dcf5718cf47322b00f2994797aebb68d7ed0fb.tar.gz |
http: Raise hangup error on destroyed socket write
Prior to v0.10, Node ignored ECONNRESET errors in many situations.
There *are* valid cases in which ECONNRESET should be ignored as a
normal part of the TCP dance, but in many others, it's a very relevant
signal that must be heeded with care.
Exacerbating this problem, if the OutgoingMessage does not have a
req.connection._handle, it assumes that it is in the process of
connecting, and thus buffers writes up in an array.
The problem happens when you reuse a socket between two requests, and it
is destroyed abruptly in between them. The writes will be buffered,
because the socket has no handle, but it's not ever going to GET a
handle, because it's not connecting, it's destroyed.
The proper fix is to treat ECONNRESET correctly. However, this is a
behavior/semantics change, and cannot land in a stable branch.
Fix #4775
Diffstat (limited to 'deps')
0 files changed, 0 insertions, 0 deletions