Skip to content

Commit

Permalink
address PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
vmoroz committed Jul 12, 2024
1 parent 6f25e8f commit e73c7a0
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 11 deletions.
4 changes: 0 additions & 4 deletions src/js_native_api_v8.cc
Original file line number Diff line number Diff line change
Expand Up @@ -604,10 +604,6 @@ void Finalizer::ResetFinalizer() {
finalize_hint_ = nullptr;
}

void Finalizer::ResetData(void* data) {
finalize_data_ = data;
}

void Finalizer::CallFinalizer() {
napi_finalize finalize_callback = finalize_callback_;
void* finalize_data = finalize_data_;
Expand Down
3 changes: 1 addition & 2 deletions src/js_native_api_v8.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ inline napi_status napi_clear_last_error(node_api_nogc_env env);

namespace v8impl {

// Base class to track references and finalizers in a double linked list.
// Base class to track references and finalizers in a doubly linked list.
class RefTracker {
public:
using RefList = RefTracker;
Expand Down Expand Up @@ -334,7 +334,6 @@ class Finalizer {

void ResetEnv();
void ResetFinalizer();
void ResetData(void* data);
void CallFinalizer();

private:
Expand Down
9 changes: 4 additions & 5 deletions src/node_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -121,17 +121,16 @@ namespace {
class BufferFinalizer : private Finalizer {
public:
static BufferFinalizer* New(napi_env env,
napi_finalize finalize_callback = nullptr,
void* finalize_data = nullptr,
void* finalize_hint = nullptr) {
napi_finalize finalize_callback,
void* finalize_data,
void* finalize_hint) {
return new BufferFinalizer(
env, finalize_callback, finalize_data, finalize_hint);
}
// node::Buffer::FreeCallback
static void FinalizeBufferCallback(char* data, void* hint) {
std::unique_ptr<BufferFinalizer, Deleter> finalizer{
static_cast<BufferFinalizer*>(hint)};
finalizer->ResetData(data);
// It is safe to call into JavaScript at this point.
finalizer->CallFinalizer();
}
Expand Down Expand Up @@ -1053,7 +1052,7 @@ napi_create_external_buffer(napi_env env,

// The finalizer object will delete itself after invoking the callback.
v8impl::BufferFinalizer* finalizer =
v8impl::BufferFinalizer::New(env, finalize_cb, nullptr, finalize_hint);
v8impl::BufferFinalizer::New(env, finalize_cb, data, finalize_hint);

v8::MaybeLocal<v8::Object> maybe =
node::Buffer::New(isolate,
Expand Down

0 comments on commit e73c7a0

Please sign in to comment.