parrotcode: Parrot Interpreter - Callback Function Handling | |
Contents | C |
src/inter_cb.c - Parrot Interpreter - Callback Function Handling
NCI callback functions may run whenever the C code executes the callback. To be prepared for asynchronous callbacks these are converted to callback events.
Often callbacks should run synchronously. This can only happen when the C-library calls the callback, because Parrot called a function in the C-library.
PARROT_API PARROT_CANNOT_RETURN_NULL PARROT_WARN_UNUSED_RESULT PMC *Parrot_make_cb(PARROT_INTERP, NOTNULL(PMC *sub), NOTNULL(PMC *user_data), NOTNULL(STRING *cb_signature))
static void verify_CD(NOTNULL(char *external_data), NOTNULL(PMC *user_data))
static void callback_CD(PARROT_INTERP, NOTNULL(char *external_data), NOTNULL(PMC *user_data))
PARROT_API void Parrot_run_callback(PARROT_INTERP, NOTNULL(PMC *user_data), NOTNULL(char *external_data))
PARROT_API void Parrot_callback_C(NOTNULL(char *external_data), NOTNULL(PMC *user_data))
PARROT_API void Parrot_callback_D(NOTNULL(PMC *user_data), NOTNULL(char *external_data))
|