Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pass context through on interrupt handlers #91

Closed
wants to merge 1 commit into from

Conversation

swimmadude66
Copy link
Contributor

Following the instructions @justjake laid out in #84 to add context as an arg to runtime interrupt handlers. This is definitely a useful addition, but not quite to the context-level interrupts I want. Gonna play with this codepath some more to see if I can actually achieve separate interrupts per context. The biggest blocker I know of right now is that interrupt handlers only exist at the runtime level. This means I will need to do something like this.runtime.setInterruptHander((runtime, context) => context === this ? cb(runtime, context) : this.runtime.interruptHandler?.(runtime, context) ?? false) . This leads to a sort of russian nesting doll situation. I would much rather be able to set interrupts per context natively, or have multiple interrupts registered on a runtime

@justjake
Copy link
Owner

You could use a WeakMap<QuickJSContext, ContextInterruptHandler> to store your per-context interrupt. This kind of indirection is already how per-runtime interrupts are implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants