Print this page
enable v8plus_call to be used in any thread
@@ -110,10 +110,11 @@
extern int nvlist_lookup_v8plus_jsfunc(const nvlist_t *, const char *,
v8plus_jsfunc_t *);
extern int nvpair_value_v8plus_jsfunc(const nvpair_t *, v8plus_jsfunc_t *);
extern void v8plus_jsfunc_hold(v8plus_jsfunc_t);
extern void v8plus_jsfunc_rele(v8plus_jsfunc_t);
+extern void v8plus_jsfunc_rele_direct(v8plus_jsfunc_t);
/*
* Place or release a hold on the V8 representation of the specified C object.
* This is rarely necessary; v8plus_defer() performs this action for you, but
* other asynchronous mechanisms may require it. If you are returning from
@@ -122,10 +123,11 @@
* must be balanced. Use of the object within a thread after releasing is a
* bug.
*/
extern void v8plus_obj_hold(const void *);
extern void v8plus_obj_rele(const void *);
+extern void v8plus_obj_rele_direct(const void *);
/*
* Convenience functions for dealing with JS arguments.
*/
extern v8plus_type_t v8plus_typeof(const nvpair_t *);
@@ -152,10 +154,11 @@
* Call an opaque JavaScript function from C. The caller is responsible for
* freeing the returned list. The first argument is not const because it is
* possible for the JS code to modify the function represented by the cookie.
*/
extern nvlist_t *v8plus_call(v8plus_jsfunc_t, const nvlist_t *);
+extern nvlist_t *v8plus_call_direct(v8plus_jsfunc_t, const nvlist_t *);
/*
* Call the named JavaScript function in the context of the JS object
* represented by the native object. Calling and return conventions are the
* same as for the C interfaces; i.e., the nvlist will be converted into JS