mirror of https://github.com/lukechilds/node.git
Browse Source
Race condition caused occasional failure on CI. Chained callbacks used to remove race condition. PR-URL: https://github.com/nodejs/node/pull/10293 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>v6.x
committed by
Myles Borins
1 changed files with 10 additions and 13 deletions
@ -1,33 +1,30 @@ |
|||
'use strict'; |
|||
const common = require('../common'); |
|||
const assert = require('assert'); |
|||
const http = require('http'); |
|||
|
|||
var options = { |
|||
const options = { |
|||
method: 'GET', |
|||
port: undefined, |
|||
host: '127.0.0.1', |
|||
path: '/' |
|||
}; |
|||
|
|||
var server = http.createServer(); |
|||
const server = http.createServer(); |
|||
|
|||
server.listen(0, options.host, function() { |
|||
options.port = this.address().port; |
|||
var req = http.request(options); |
|||
const req = http.request(options); |
|||
req.on('error', function() { |
|||
// this space is intentionally left blank
|
|||
}); |
|||
req.on('close', common.mustCall(() => server.close())); |
|||
|
|||
var timeout_events = 0; |
|||
req.setTimeout(1); |
|||
req.on('timeout', common.mustCall(() => timeout_events += 1)); |
|||
setTimeout(function() { |
|||
req.destroy(); |
|||
assert.strictEqual(timeout_events, 1); |
|||
}, common.platformTimeout(100)); |
|||
setTimeout(function() { |
|||
req.end(); |
|||
}, common.platformTimeout(50)); |
|||
req.on('timeout', common.mustCall(() => { |
|||
req.end(() => { |
|||
setTimeout(() => { |
|||
req.destroy(); |
|||
}, 100); |
|||
}); |
|||
})); |
|||
}); |
|||
|
Loading…
Reference in new issue