Browse Source

net: check close callback is function

PR-URL: https://github.com/iojs/io.js/pull/609
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
v1.8.0-commit
Yosuke Furukawa 10 years ago
committed by Ben Noordhuis
parent
commit
8c0742f437
  1. 2
      lib/net.js
  2. 20
      test/parallel/test-net-listen-close-server-callback-is-not-function.js

2
lib/net.js

@ -1368,7 +1368,7 @@ Server.prototype.close = function(cb) {
self._emitCloseIfDrained(); self._emitCloseIfDrained();
} }
if (cb) { if (typeof cb === 'function') {
if (!this._handle) { if (!this._handle) {
this.once('close', function() { this.once('close', function() {
cb(new Error('Not running')); cb(new Error('Not running'));

20
test/parallel/test-net-listen-close-server-callback-is-not-function.js

@ -0,0 +1,20 @@
var assert = require('assert');
var common = require('../common');
var net = require('net');
var server = net.createServer(assert.fail);
var closeEvents = 0;
server.on('close', function() {
++closeEvents;
});
server.listen(common.PORT, function() {
assert(false);
});
server.close('bad argument');
process.on('exit', function() {
assert.equal(closeEvents, 1);
});
Loading…
Cancel
Save