joyent/node — pull request #7467 by indutny (2014-04-14 10:15:28+00:00)
Title: tls: set _connecting before starting the flow

When creating a TLSSocket instance based on the existing connecting
socket, `_connecting` property is copied after the initialization of
`net.Socket`. However, since `net.Socket` constructor will call
`.read(0)` if the `readable` is true - error may happen at this code
chunk in net.js:

Socket.prototype._read = function(n) {
debug('_read');

if (this._connecting || !this._handle) {
debug('_read wait for connection');
this.once('connect', this._read.bind(this, n));
...

Leading to a test failures on windows:

- test/simple/test-tls-connect-given-socket.js

cc @orangemocha