leftibot 96cae78242 Fix #636: Prevent heap-use-after-free in async threads during engine destruction
The Dispatch_Engine member destruction order destroyed m_state (containing
type maps) before m_stack_holder (containing async futures), allowing async
threads to access freed type map memory during eval_error formatting. The fix
moves async() registration from the stdlib into ChaiScript_Basic with thread
tracking, and adds a Dispatch_Engine destructor that joins all tracked async
threads before m_state is destroyed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 09:47:47 -06:00
..
chaiscript_algebraic.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_common.hpp Fix #17: Add const variables in ChaiScript (#643) 2026-04-10 22:12:13 -06:00
chaiscript_engine.hpp Fix #636: Prevent heap-use-after-free in async threads during engine destruction 2026-04-11 09:47:47 -06:00
chaiscript_eval.hpp Fix #17: Add const variables in ChaiScript (#643) 2026-04-10 22:12:13 -06:00
chaiscript_optimizer.hpp Fix #17: Add const variables in ChaiScript (#643) 2026-04-10 22:12:13 -06:00
chaiscript_parser.hpp Fix #592: Local variable saw_eol in Class_Statements() was always true (#646) 2026-04-11 08:32:27 -06:00
chaiscript_posix.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_prelude_docs.hpp Fix #12: Document reflection and introspection capabilities 2026-04-09 21:43:56 -06:00
chaiscript_prelude.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_tracer.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_unknown.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_windows.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00