[Qt-interest] QSqlQuery + multiple threads = crash
Emmanuel Bourgerie
manu.dwarf at gmail.com
Wed Jun 22 14:41:37 CEST 2011
Hi folks !
I'm having a little issue with Qt 4.7.2 (Ubuntu). I've got two threads
instantiating both of them a QSqlQuery on the same QSqlDatabase, and
I've got a weird result :
1) Thread #1 starts, no problem
2) Thread #2 starts but waits for thread #1 (that's why I use threads, isn't it)
3) Thread #1 has finished, I've got a result
4) Thread #2 dies, telling me MySQL lost the connection
5) Back on thread #1, I can't fetch anything more, "MySQL has gone
away" (not gentle)
So, maybe it's because of the way I managed my QSqlDatabase. Consider
it's a static member (in fact it's a bit more complicated, but
similar) typed QSqlDatabase*. When I prepare my QSqlQuery I do :
void QueryEditorWidget::run() {
query = QSqlQuery(editor->toPlainText(), *db);
model->setQuery(query);
emit ready();
}
Any suggestion ?
More information about the Qt-interest-old
mailing list