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:
Jeremiah Senkpiel 2016-09-06 11:49:19 -04:00 committed by Ruben Bridgewater
parent 87bdddaf41
commit 11f7dcf91e
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
2 changed files with 17 additions and 0 deletions

View File

@ -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;

View 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');