【发布时间】:2016-06-20 07:25:48
【问题描述】:
我有来自 C++ 文件的 TCL 文件。 为此,我最终使用了 Tcl_DoOneEvent 函数来处理所有 TCL 调用。 我在 Main 函数中也调用了一些线程。为了退出所有线程和函数,我编写了一个退出函数。所以在当前情况下,我看到除了最后调用的 Tcl_DoOneEvent 函数之外,所有 pthread 和其他函数都被终止。这给出了一个分割错误。 有没有办法从其他函数中退出 while(1) 函数。
main()
{
...
...
pthread_create(thread1);
pthread_create(thread2);
while(1) Tcl_DoOneEvent(TCL_ALL_EVENTS);
return(0);
}
quit_fn()
{
...
...
pthread_cancel(thread1);
pthread_cancel(thread2);
...
// exit(0) ; -> this also results in segmentation error
}
【问题讨论】:
标签: c++ segmentation-fault pthreads tcl