V(bytes_parsed_string, "bytesParsed") \
V(callback_string, "callback") \
V(change_string, "change") \
- V(close_string, "close") \
+ V(onclose_string, "_onclose") \
V(code_string, "code") \
V(compare_string, "compare") \
V(ctime_string, "ctime") \
wrap->handle__ = nullptr;
if (args[0]->IsFunction()) {
- wrap->object()->Set(env->close_string(), args[0]);
+ wrap->object()->Set(env->onclose_string(), args[0]);
wrap->flags_ |= kCloseCallback;
}
}
Local<Object> object = wrap->object();
if (wrap->flags_ & kCloseCallback) {
- wrap->MakeCallback(env->close_string(), 0, nullptr);
+ wrap->MakeCallback(env->onclose_string(), 0, nullptr);
}
object->SetAlignedPointerInInternalField(0, nullptr);
--- /dev/null
+var assert = require('assert');
+
+var t = new (process.binding('timer_wrap').Timer);
+var called = 0;
+function onclose() {
+ called++;
+}
+
+t.close(onclose);
+t.close(onclose);
+
+process.on('exit', function() {
+ assert.equal(1, called);
+});