Skip to content

Preserve host interrupt handlers in evalScript - #1684

Open
carrerasdarren-cell wants to merge 1 commit into
quickjs-ng:masterfrom
carrerasdarren-cell:fix-evalscript-interrupt-handler
Open

Preserve host interrupt handlers in evalScript#1684
carrerasdarren-cell wants to merge 1 commit into
quickjs-ng:masterfrom
carrerasdarren-cell:fix-evalscript-interrupt-handler

Conversation

@carrerasdarren-cell

Copy link
Copy Markdown

Summary

  • preserve an embedder's interrupt handler across std.evalScript() calls
  • chain the embedder handler while the standard library's SIGINT handler is active
  • add native regressions for timeouts both inside and after evalScript()

Fixes #1673.

Testing

  • api-test in release and ASan/UBSan builds
  • api-test with QJS_BUILD_LIBC both on and off
  • run-test262 -c tests.conf (0/110 errors, 9 excluded)
  • make jscheck ctest cxxtest
  • supplied A/B reproducer: the evalScript() case hangs on untouched master and exits normally after this patch

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.

[BUG] std.evalScript() permanently removes the application's interrupt handler (no save/restore)

1 participant