Ok, the problem is solved. Thanks for the support. 2016-02-03 13:13 GMT-02:00 Vin?cius da Silva <dsilva.vinicius at gmail.com>:
> I think I have discovered the problem. SQLiteManager::init( const string& > dbFileName, const bool deleteDbFileFlag = true ) was deleting and > recreating the database file for each new connection. That was probably > corrupting SQLite state and a SQLITE_IOERR_DELETE_NOENT was correctly being > returned at transaction ending, since the original file to write was > replaced by another one. Some multithreaded tests are passing already. I > will finish the tests to put the final verdict here. > > 2016-02-03 12:56 GMT-02:00 Vin?cius da Silva <dsilva.vinicius at gmail.com>: > >> With a single thread and two interleaved transactions, the tests hangs in >> what seems a deadlock. >> >> 2016-02-03 12:21 GMT-02:00 Clemens Ladisch <clemens at ladisch.de>: >> >>> Vin?cius da Silva wrote: >>> > Using BEGIN EXCLUSIVE TRANSACTION in place of BEGIN TRANSACTION does >>> not >>> > change the result >>> >>> I meant, try executing them so that they are guaranteed to conflict, >>> like this: >>> >>> db1.init("same_file"); >>> db2.init("same_file"); >>> db1.beginTransactionExclusive(); >>> db2.beginTransactionExclusive(); >>> >>> >>> Regards, >>> Clemens >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users at mailinglists.sqlite.org >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >>> >> >> >> >> -- >> Best Regards, >> >> Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>, >> Ph. D. Student. >> PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br> >> > > > > -- > Best Regards, > > Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>, > Ph. D. Student. > PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br> > -- Best Regards, Vin?cius da Silva <http://www.lcg.ufrj.br/Members/viniciusdasilva>, Ph. D. Student. PESC <http://www.cos.ufrj.br> - UFRJ <http://www.ufrj.br>