Print this page
XXX keith II

*** 11,20 **** --- 11,22 ---- #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ + #define __UNUSED __attribute__((__unused__)) + #define V8PLUS_ARG_F_NOEXTRA 0x01 #define V8PLUS_ERRMSG_LEN 512 #define V8PLUS_JSF_COOKIE ".__v8plus_jsfunc_cookie"
*** 161,174 **** * members of the nvlist that is returned, respectively. If an internal * error occurs, NULL is returned and _v8plus_errno set accordingly. The * results of calling a method implemented in C via this interface are * undefined. * ! * This can be used in concert with JS code to emit events asynchronously; ! * see the documentation. */ extern nvlist_t *v8plus_method_call(void *, const char *, const nvlist_t *); /* * These methods are analogous to strerror(3c) and similar functions; they * translate among error names, codes, and default messages. There is * normally little need for these functions in C methods, as everything --- 163,186 ---- * members of the nvlist that is returned, respectively. If an internal * error occurs, NULL is returned and _v8plus_errno set accordingly. The * results of calling a method implemented in C via this interface are * undefined. * ! * These methods can be used in concert with JS code to emit events ! * asynchronously; see the documentation. ! * ! * Note: As JavaScript functions must be called from the event loop thread, ! * v8plus_method_call() contains logic to determine whether we are in the ! * correct context or not. If we are running on some other thread we will ! * queue the request and sleep, waiting for the event loop thread to make the ! * call. In the simple case, where we are already in the correct thread, ! * we make the call directly. v8plus_method_call_direct() assumes we are ! * on the correct thread and always makes the call directly. */ extern nvlist_t *v8plus_method_call(void *, const char *, const nvlist_t *); + extern nvlist_t *v8plus_method_call_direct(void *, const char *, + const nvlist_t *); /* * These methods are analogous to strerror(3c) and similar functions; they * translate among error names, codes, and default messages. There is * normally little need for these functions in C methods, as everything
*** 190,199 **** --- 202,217 ---- extern const v8plus_method_descr_t v8plus_methods[]; extern const uint_t v8plus_method_count; extern const v8plus_static_descr_t v8plus_static_methods[]; extern const uint_t v8plus_static_method_count; + /* + * Private methods. + */ + extern boolean_t v8plus_in_event_thread(void); + extern void v8plus_crossthread_init(void); + #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* _V8PLUS_GLUE_H */