Skip to content

pass context through on interrupt handlers#91

Closed
localyost3000 wants to merge 1 commit intojustjake:mainfrom
localyost3000:context-interrupts
Closed

pass context through on interrupt handlers#91
localyost3000 wants to merge 1 commit intojustjake:mainfrom
localyost3000:context-interrupts

Conversation

@localyost3000
Copy link
Copy Markdown

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
Copy Markdown
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