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.
This commit is contained in:
parent
e4c9c9f412
commit
1513848f88
30
lib/net.js
30
lib/net.js
@ -131,19 +131,25 @@ function Socket(options) {
|
||||
|
||||
Stream.call(this);
|
||||
|
||||
if (typeof options == 'number') {
|
||||
// Legacy interface.
|
||||
var fd = options;
|
||||
this._handle = createPipe();
|
||||
this._handle.open(fd);
|
||||
this.readable = this.writable = true;
|
||||
initSocketHandle(this);
|
||||
} else {
|
||||
// private
|
||||
this._handle = options && options.handle;
|
||||
initSocketHandle(this);
|
||||
this.allowHalfOpen = options && options.allowHalfOpen;
|
||||
switch (typeof options) {
|
||||
case 'number':
|
||||
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.open(options.fd);
|
||||
this.readable = this.writable = true;
|
||||
}
|
||||
|
||||
initSocketHandle(this);
|
||||
this.allowHalfOpen = options && options.allowHalfOpen;
|
||||
}
|
||||
util.inherits(Socket, Stream);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user