我在尝试为每个线程创建一个 tcl 解释器时面临崩溃。我在 linux rh6 上使用 TCL 版本 8.5.9。每次它在不同的功能中崩溃似乎是某种内存损坏。通过网络似乎是一种有效的方法。有没有人遇到过类似的问题?多线程使用 Tcl 是否需要任何特殊支持?
这是以下导致 tcl 版本 8.5.9 崩溃的小程序。
#include <tcl.h>
#include <pthread.h>
void* run (void*)
{
Tcl_Interp *interp = Tcl_CreateInterp();
sleep(1);
Tcl_DeleteInterp(interp);
}
main ()
{
pthread_t t1, t2;
pthread_create(&t1, NULL, run, NULL);
pthread_create(&t2, NULL, run, NULL);
pthread_join (t1, NULL);
pthread_join (t2, NULL);
}