2015-05-19 24 views
0
std::cout << "im in here!\n"; 
PyGILState_STATE sMain = PyGILState_Ensure(); 

if (sMain) 
{ 
    std::cout << "attempting\n"; 
    PyRun_SimpleString("import sys; sys.exit();"); 
    std::cout << "attempted!\n"; 
} 

PyGILState_Release(sMain); 

好像从未尝试打印但是SMAIN是有效的,存在 PyRun_SimpleString永远不会出现回所有实际。有问题的Python代码从未出现过。PyRun_SimpleString挡住,不会返回

编辑: 所以我已经缩小了问题的范围,只要我在字符串中导入模块。 普通代码工作但罚款,如果我输入的功能块和永远不会返回

+0

一次使用调试器。 –

回答

0

固定它,试图用PyImport_ImportModuleNoBlock导入并报告该模块的锁被另一个线程的Python举行2.7