Я пытаюсь запустить поток из моей SWIG Python C++ расширения, однако, когда я иду, чтобы запустить его производит следующее:Стартовые потоки внутри расширений Python
libc++abi.dylib: terminating
Abort trap: 6
Я предполагаю, что там не должен это не проблема с GIL, поскольку не используются объекты, выделенные python. Или я ошибаюсь в этом предположении?
Минимальный пример:
// _MyExtension.cpp
#include <iostream>
#include <thread>
void threadFunc() {
std::cout << "Thread started" << std::endl;
std::this_thread::sleep_for (std::chrono::seconds(10));
std::cout << "Thread ended" << std::endl;
}
void start() {
std::thread first (threadFunc);
}
// _MyExtension.i
%module _MyExtension
%{
extern void start();
%}
extern void start();
// test.py
import _PyMapper
_PyMapper.start()