summaryrefslogtreecommitdiff
path: root/src/node.h
diff options
context:
space:
mode:
authorAli Ijaz Sheikh <ofrobots@google.com>2018-01-24 18:09:53 -0800
committerAli Ijaz Sheikh <ofrobots@google.com>2018-02-15 17:44:48 -0800
commitefb32592e1b78ec2559e1a409faa049e756a9501 (patch)
tree40a710822c6a6b24b286cfe0c692cda862d30e5b /src/node.h
parent3b9cc424a4240c10003dca71c5a7478232e3d0d8 (diff)
downloadandroid-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.h41
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