Browse Source

net: fix Socket({ fd: 42 }) api

Make the implementation match the documentation. This should work:

  var s = new net.Socket({ fd: 42, allowHalfOpen: true };

And now it does.
v0.8.7-release
Ben Noordhuis 13 years ago
committed by isaacs
parent
commit
1513848f88
  1. 26
      lib/net.js

26
lib/net.js

@ -131,19 +131,25 @@ function Socket(options) {
Stream.call(this); Stream.call(this);
if (typeof options == 'number') { switch (typeof options) {
// Legacy interface. case 'number':
var fd = options; options = { fd: options }; // Legacy interface.
break;
case 'undefined':
options = {};
break;
}
if (typeof options.fd === 'undefined') {
this._handle = options && options.handle; // private
} else {
this._handle = createPipe(); this._handle = createPipe();
this._handle.open(fd); this._handle.open(options.fd);
this.readable = this.writable = true; this.readable = this.writable = true;
initSocketHandle(this);
} else {
// private
this._handle = options && options.handle;
initSocketHandle(this);
this.allowHalfOpen = options && options.allowHalfOpen;
} }
initSocketHandle(this);
this.allowHalfOpen = options && options.allowHalfOpen;
} }
util.inherits(Socket, Stream); util.inherits(Socket, Stream);

Loading…
Cancel
Save