leftibot c5b81b880f Fix #632: Join async threads before engine destruction to prevent use-after-free
The heap-use-after-free was caused by a race condition where async threads
continued accessing the engine's shared state (global objects map) after the
main thread began destroying the Dispatch_Engine. The fix moves the async
function registration from the stdlib module into ChaiScript_Basic, where it
can track spawned threads via Dispatch_Engine. The engine's destructor now
joins all outstanding async threads before destroying shared data structures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 09:24:10 -06:00
..
dispatchkit Fix #632: Join async threads before engine destruction to prevent use-after-free 2026-04-11 09:24:10 -06:00
language Fix #632: Join async threads before engine destruction to prevent use-after-free 2026-04-11 09:24:10 -06:00
utility Fix #477: Handle \u unicode escape sequences in JSON parser 2026-04-10 19:49:48 -06:00
chaiscript_basic.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_defines.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_stdlib.hpp Fix #632: Join async threads before engine destruction to prevent use-after-free 2026-04-11 09:24:10 -06:00
chaiscript_threading.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00