dgram: 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>
This commit is contained in:
parent
6ac8bdc0ab
commit
207e48c934
@ -341,7 +341,7 @@ function afterSend(err) {
|
||||
|
||||
|
||||
Socket.prototype.close = function(callback) {
|
||||
if (callback)
|
||||
if (typeof callback === 'function')
|
||||
this.on('close', callback);
|
||||
this._healthCheck();
|
||||
this._stopReceiving();
|
||||
|
21
test/parallel/test-dgram-close-is-not-callback.js
Normal file
21
test/parallel/test-dgram-close-is-not-callback.js
Normal file
@ -0,0 +1,21 @@
|
||||
var assert = require('assert');
|
||||
var common = require('../common');
|
||||
var dgram = require('dgram');
|
||||
|
||||
var buf = new Buffer(1024);
|
||||
buf.fill(42);
|
||||
|
||||
var socket = dgram.createSocket('udp4');
|
||||
var closeEvents = 0;
|
||||
socket.send(buf, 0, buf.length, common.PORT, 'localhost');
|
||||
|
||||
// if close callback is not function, ignore the argument.
|
||||
socket.close('bad argument');
|
||||
|
||||
socket.on('close', function() {
|
||||
++closeEvents;
|
||||
});
|
||||
|
||||
process.on('exit', function() {
|
||||
assert.equal(closeEvents, 1);
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user