diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2018-01-24 18:09:53 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2018-02-15 17:44:48 -0800 |
commit | efb32592e1b78ec2559e1a409faa049e756a9501 (patch) | |
tree | 40a710822c6a6b24b286cfe0c692cda862d30e5b /src/node.h | |
parent | 3b9cc424a4240c10003dca71c5a7478232e3d0d8 (diff) | |
download | android-node-v8-efb32592e1b78ec2559e1a409faa049e756a9501.tar.gz android-node-v8-efb32592e1b78ec2559e1a409faa049e756a9501.tar.bz2 android-node-v8-efb32592e1b78ec2559e1a409faa049e756a9501.zip |
src: deprecate legacy node::MakeCallback
The legacy MakeCallback functions do not provide a mechanism to
propagate async context. This means that any native modules using these
directly is likely breaking async debugging & tracing tools. For
example it is possible that such a module will cause incorrect async
stack traces to be reported (even when the module is not on the stack).
The new MakeCallback allow the user to specify the async context in
which the callback is to be executed.
Ref: https://github.com/nodejs/node/issues/13254
PR-URL: https://github.com/nodejs/node/pull/18632
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Andreas Madsen <amwebdk@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'src/node.h')
-rw-r--r-- | src/node.h | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/src/node.h b/src/node.h index 89dbdfc727..cb43468930 100644 --- a/src/node.h +++ b/src/node.h @@ -151,27 +151,30 @@ inline v8::Local<v8::Value> UVException(int errorno, * These methods need to be called in a HandleScope. * * It is preferred that you use the `MakeCallback` overloads taking - * `async_id` arguments. + * `async_context` arguments. */ -NODE_EXTERN v8::Local<v8::Value> MakeCallback( - v8::Isolate* isolate, - v8::Local<v8::Object> recv, - const char* method, - int argc, - v8::Local<v8::Value>* argv); -NODE_EXTERN v8::Local<v8::Value> MakeCallback( - v8::Isolate* isolate, - v8::Local<v8::Object> recv, - v8::Local<v8::String> symbol, - int argc, - v8::Local<v8::Value>* argv); -NODE_EXTERN v8::Local<v8::Value> MakeCallback( - v8::Isolate* isolate, - v8::Local<v8::Object> recv, - v8::Local<v8::Function> callback, - int argc, - v8::Local<v8::Value>* argv); +NODE_DEPRECATED("Use MakeCallback(..., async_context)", + NODE_EXTERN v8::Local<v8::Value> MakeCallback( + v8::Isolate* isolate, + v8::Local<v8::Object> recv, + const char* method, + int argc, + v8::Local<v8::Value>* argv)); +NODE_DEPRECATED("Use MakeCallback(..., async_context)", + NODE_EXTERN v8::Local<v8::Value> MakeCallback( + v8::Isolate* isolate, + v8::Local<v8::Object> recv, + v8::Local<v8::String> symbol, + int argc, + v8::Local<v8::Value>* argv)); +NODE_DEPRECATED("Use MakeCallback(..., async_context)", + NODE_EXTERN v8::Local<v8::Value> MakeCallback( + v8::Isolate* isolate, + v8::Local<v8::Object> recv, + v8::Local<v8::Function> callback, + int argc, + v8::Local<v8::Value>* argv)); } // namespace node |