Poco & Mysql = ошибка Error in my_thread_global_end(): 1 threads didn't exit

330
02 ноября 2017, 07:13

Использую библиотеку Poco в своем проекте. А именно подключение к mysql. Код простой, используется в одном из thread:

try {
 Poco::Data::Session session(Poco::Data::MySQL::Connector::KEY,"host=localhost;user=user;password=password;db=db");
 какие-то действия
}
catch (const Poco::Data::MySQL::StatementException &se) {
 std::cout << "error" << std::endl;
}
catch (const Poco::Data::ConnectionFailedException &ce) {
 std::cout << "error" << std::endl;
}

В главном процессе использую:

Poco::Data::MySQL::Connector::registerConnector();
какие-то действия, работа thread
Poco::Data::MySQL::Connector::unregisterConnector();

Почему в главном. Потому-что есть 2 thread где нужен mysql. Если использовать в обоих thread, то почему-то второй thread перестает подключаться к mysql.

Когда делаю прерывание выполнения программы (например через Ctrl+C), то на выходе получаю ошибку Error in my_thread_global_end(): 1 threads didn't exit. Появляется она на методе unregisterConnector.

У меня впечатление, что в коде thread необходимо после действий в конструкции try закрыть соединение mysql. По мануалу не совсем понял как. Метод session.clear(); не помогает.

Может надо как-то удалить/обнулить переменную? Только как?

READ ALSO
Ошибка при конвертации BSTR в QString

Ошибка при конвертации BSTR в QString

У меня есть функция, которая делает выборку по WMI, вот пример - https://msdnmicrosoft

255
Странные ошибки в visual studio

Странные ошибки в visual studio

Уважаемое комьюнити, столкнулся с проблемой в visual studio, которое невероятно раздражаетА именно:

246
Объединение интервалов

Объединение интервалов

Имеется n-промежутков, вида: [a1,b1];[a2,b2];

261
Пирамидальная сортировка на с++

Пирамидальная сортировка на с++

Хочу сделать сортировку пирамидальную (обратную) То есть что бы массив в котором есть числа 4,5,3,0 отсортировало не так 0,3,4,5, а так 5,4,3,0Вот функции...

262