diff --git a/doc/api/tls.markdown b/doc/api/tls.markdown index c03845e8721d5c..d63a6eba013e96 100644 --- a/doc/api/tls.markdown +++ b/doc/api/tls.markdown @@ -602,11 +602,11 @@ when the server has been bound. See `net.Server` for more information. -### server.close() +### server.close([callback]) Stops the server from accepting new connections. This function is asynchronous, the server is finally closed when the server emits a `'close'` -event. +event. Optionally, you can pass a callback to listen for the `'close'` event. ### server.address() diff --git a/test/parallel/test-tls-connect-simple.js b/test/parallel/test-tls-connect-simple.js index e896dd9e22a51f..55e15221b1b0c9 100644 --- a/test/parallel/test-tls-connect-simple.js +++ b/test/parallel/test-tls-connect-simple.js @@ -26,6 +26,8 @@ var fs = require('fs'); var clientConnected = 0; var serverConnected = 0; +var serverCloseCallbacks = 0; +var serverCloseEvents = 0; var options = { key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), @@ -34,7 +36,12 @@ var options = { var server = tls.Server(options, function(socket) { if (++serverConnected === 2) { - server.close(); + server.close(function() { + ++serverCloseCallbacks; + }); + server.on('close', function() { + ++serverCloseEvents; + }); } }); @@ -60,4 +67,6 @@ server.listen(common.PORT, function() { process.on('exit', function() { assert.equal(clientConnected, 2); assert.equal(serverConnected, 2); + assert.equal(serverCloseCallbacks, 1); + assert.equal(serverCloseEvents, 1); });