@ -1,6 +1,6 @@
'use strict' ;
'use strict' ;
var common = require ( '../common' ) ;
const common = require ( '../common' ) ;
var assert = require ( 'assert' ) ;
const assert = require ( 'assert' ) ;
// Make sure that throwing in 'end' handler doesn't lock
// Make sure that throwing in 'end' handler doesn't lock
// up the socket forever.
// up the socket forever.
@ -8,40 +8,32 @@ var assert = require('assert');
// This is NOT a good way to handle errors in general, but all
// This is NOT a good way to handle errors in general, but all
// the same, we should not be so brittle and easily broken.
// the same, we should not be so brittle and easily broken.
var http = require ( 'http' ) ;
const http = require ( 'http' ) ;
var n = 0 ;
let n = 0 ;
var server = http . createServer ( function ( req , res ) {
const server = http . createServer ( ( req , res ) => {
if ( ++ n === 10 ) server . close ( ) ;
if ( ++ n === 10 ) server . close ( ) ;
res . end ( 'ok' ) ;
res . end ( 'ok' ) ;
} ) ;
} ) ;
server . listen ( common . PORT , function ( ) {
server . listen ( common . PORT , common . mustCall ( ( ) => {
for ( var i = 0 ; i < 10 ; i ++ ) {
for ( let i = 0 ; i < 10 ; i ++ ) {
var options = { port : common . PORT } ;
const options = { port : common . PORT } ;
const req = http . request ( options , ( res ) => {
var req = http . request ( options , function ( res ) {
res . resume ( ) ;
res . resume ( ) ;
res . on ( 'end' , function ( ) {
res . on ( 'end' , common . mustCall ( ( ) => {
throw new Error ( 'gleep glorp' ) ;
throw new Error ( 'gleep glorp' ) ;
} ) ;
} ) ) ;
} ) ;
} ) ;
req . end ( ) ;
req . end ( ) ;
}
}
} ) ;
} ) ) ;
setTimeout ( function ( ) {
let errors = 0 ;
process . removeListener ( 'uncaughtException' , catcher ) ;
process . on ( 'uncaughtException' , ( ) => {
throw new Error ( 'Taking too long!' ) ;
} , common . platformTimeout ( 1000 ) ) . unref ( ) ;
process . on ( 'uncaughtException' , catcher ) ;
var errors = 0 ;
function catcher ( ) {
errors ++ ;
errors ++ ;
}
} ) ;
process . on ( 'exit' , function ( ) {
process . on ( 'exit' , ( ) => {
assert . equal ( errors , 10 ) ;
assert . equal ( errors , 10 ) ;
console . log ( 'ok' ) ;
} ) ;
} ) ;