File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -43,20 +43,28 @@ exports.createServer = function(listener) {
43
43
return new AbstractSocketServer ( listener ) ;
44
44
} ;
45
45
46
-
47
46
exports . connect = exports . createConnection = function ( name , connectListener ) {
47
+ const defaultOptions = {
48
+ readable : true ,
49
+ writable : true
50
+ } ;
51
+
48
52
let err = socket ( ) ;
49
53
if ( err < 0 ) {
50
- throw errnoException ( err , 'socket' ) ;
54
+ const sock = new net . Socket ( defaultOptions ) ;
55
+ setImmediate ( ( ) => sock . emit ( 'error' , errnoException ( err , 'socket' ) ) ) ;
56
+ return sock ;
51
57
}
52
58
53
- const options = { fd : err , readable : true , writable : true } ;
59
+ const options = Object . assign ( { fd : err } , defaultOptions ) ;
54
60
55
61
// yes, connect is synchronous, so sue me
56
62
err = connect ( err , name ) ;
57
63
if ( err < 0 ) {
58
64
close ( options . fd ) ;
59
- throw errnoException ( err , 'connect' ) ;
65
+ const sock = new net . Socket ( defaultOptions ) ;
66
+ setImmediate ( ( ) => sock . emit ( 'error' , errnoException ( err , 'connect' ) ) ) ;
67
+ return sock ;
60
68
}
61
69
62
70
const sock = new net . Socket ( options ) ;
You can’t perform that action at this time.
0 commit comments