timers: do not expose .unref()._handle._list
The list is defunct at this point. I believe this to be in effect a minor defect from 3eecdf9f1422640c7439507cb39ffb3dff57b3e4 PR-URL: https://github.com/nodejs/node/pull/8422 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Julien Gilli <jgilli@nodejs.org> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
87bdddaf41
commit
11f7dcf91e
@ -598,6 +598,9 @@ Timeout.prototype.unref = function() {
|
||||
}
|
||||
|
||||
var handle = reuse(this);
|
||||
if (handle) {
|
||||
handle._list = undefined;
|
||||
}
|
||||
|
||||
this._handle = handle || new TimerWrap();
|
||||
this._handle.owner = this;
|
||||
|
14
test/parallel/test-timers-unref-reuse-no-exposed-list.js
Normal file
14
test/parallel/test-timers-unref-reuse-no-exposed-list.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
require('../common');
|
||||
const assert = require('assert');
|
||||
|
||||
const timer1 = setTimeout(() => {}, 1).unref();
|
||||
assert.strictEqual(timer1._handle._list, undefined,
|
||||
'timer1._handle._list should be undefined');
|
||||
|
||||
// Check that everything works even if the handle was not re-used.
|
||||
setTimeout(() => {}, 1);
|
||||
const timer2 = setTimeout(() => {}, 1).unref();
|
||||
assert.strictEqual(timer2._handle._list, undefined,
|
||||
'timer2._handle._list should be undefined');
|
Loading…
x
Reference in New Issue
Block a user