mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
domain: document and test dispose event
This commit is contained in:
parent
535e109a3a
commit
60b45dcbb6
@ -258,6 +258,8 @@ The intention of calling `dispose` is generally to prevent cascading
|
|||||||
errors when a critical part of the Domain context is found to be in an
|
errors when a critical part of the Domain context is found to be in an
|
||||||
error state.
|
error state.
|
||||||
|
|
||||||
|
Once the domain is disposed the `dispose` event will emit.
|
||||||
|
|
||||||
Note that IO might still be performed. However, to the highest degree
|
Note that IO might still be performed. However, to the highest degree
|
||||||
possible, once a domain is disposed, further errors from the emitters in
|
possible, once a domain is disposed, further errors from the emitters in
|
||||||
that set will be ignored. So, even if some remaining actions are still
|
that set will be ignored. So, even if some remaining actions are still
|
||||||
|
@ -28,7 +28,8 @@ var objects = { foo: 'bar', baz: {}, num: 42, arr: [1,2,3] };
|
|||||||
objects.baz.asdf = objects;
|
objects.baz.asdf = objects;
|
||||||
|
|
||||||
var serverCaught = 0;
|
var serverCaught = 0;
|
||||||
var clientCaught = 0
|
var clientCaught = 0;
|
||||||
|
var disposeEmit = 0;
|
||||||
|
|
||||||
var server = http.createServer(function(req, res) {
|
var server = http.createServer(function(req, res) {
|
||||||
var dom = domain.create();
|
var dom = domain.create();
|
||||||
@ -84,6 +85,10 @@ function next() {
|
|||||||
dom.dispose();
|
dom.dispose();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
dom.on('dispose', function() {
|
||||||
|
disposeEmit += 1;
|
||||||
|
});
|
||||||
|
|
||||||
var req = http.get({ host: 'localhost', port: common.PORT, path: p });
|
var req = http.get({ host: 'localhost', port: common.PORT, path: p });
|
||||||
dom.add(req);
|
dom.add(req);
|
||||||
req.on('response', function(res) {
|
req.on('response', function(res) {
|
||||||
@ -111,5 +116,6 @@ function next() {
|
|||||||
process.on('exit', function() {
|
process.on('exit', function() {
|
||||||
assert.equal(serverCaught, 2);
|
assert.equal(serverCaught, 2);
|
||||||
assert.equal(clientCaught, 2);
|
assert.equal(clientCaught, 2);
|
||||||
|
assert.equal(disposeEmit, 2);
|
||||||
console.log('ok');
|
console.log('ok');
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user