In my C++ code, if I create one tcl interp per thread, and use it to Tcl_EvalEx a script, and get result by Tcl_GetStringResult, is this thread safe?
There's no shared data between these threads except const data.
After some searching on google I found this in the tcl threading model doc: http://www.tcl.tk/doc/howto/thread_model.html
Tcl lets you have one or more Tcl interpreters (e.g., created with Tcl_CreateInterp()) in each operating system thread. However, each interpreter is tightly bound to its OS thread and errors will occur if you let more than one thread call into the same interpreter (e.g., with Tcl_Eval).
I guess that means if I don't shared data between interpreters, then there should be no issue?