diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2014-12-15 17:25:31 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2014-12-18 18:24:29 +0100 |
commit | ebf9f297b30d6cf2e5060da91d63cebbedc448e2 (patch) | |
tree | d94a7af32c76315542ab6463a4ed8f7e1ac5bd57 /src/env-inl.h | |
parent | b7d247856e318a830eff7e2d12495008c1c80ae3 (diff) | |
download | node-new-ebf9f297b30d6cf2e5060da91d63cebbedc448e2.tar.gz |
lib: fix guard expression in timer.unref()
Fixes the following assertion on slow systems, like our ARM buildbot:
$ out/Debug/node test/simple/test-timers-unref.js
node: ../src/async-wrap-inl.h:101: v8::Handle<v8::Value>
node::AsyncWrap::MakeCallback(uint32_t, int,
v8::Handle<v8::Value>*): Assertion `cb_v->IsFunction()' failed.
Aborted
The reason it only manifests on slow systems is that the test starts
a 1 ms interval timer, then defers timer.unref.bind({}) to the next
tick. On fast systems, the test completes in under a millisecond,
before the callback is called.
This commit makes timer.unref() check that the receiver actually has
a timeout callback property.
Fixes #13.
PR-URL: https://github.com/iojs/io.js/pull/165
Reviewed-By: Rod Vagg <rod@vagg.org>
Diffstat (limited to 'src/env-inl.h')
0 files changed, 0 insertions, 0 deletions