Some portion of program is scriptable with ECL, which runs in its own separate thread. What I fear, however, is that users might do something stupid and enter an infinite loop or break into debugger wondering why does the scriptable part no longer responds. For the latter breaking into debugger is disabled by default with an option to reenable it, but nevertheless knowing Murphy's law I expect the worst to happen. I would like to keep the program responsive no matter what.
I was hoping I could restart ECL in such cases, so I tried terminating ECL thread first but it results in a crash. And apparently after calling cl_shutdown ECL shuts down for good and a second call to cl_boot does not work so restarting does not appear as an option anyway.
Is there anything I can do to keep the program running or just trust the user to do the right thing?