Hi,

I have been simulating a crash during a transaction. After BEGIN, at some point
I do exit(-1) instead of COMMIT or ROLLBACK in order to simulate a crash.

After that, I can see that a -journal file is present. If I restart my 
executable, it seems that the changes of the transaction are made undone 
(which is as expected). The journal file however is not removed. 
Furthermore, if I try to do the same operation again (BEGIN + some changes),
I get an SQL_BUSY error code on the first record change (UPDATE/SET). 

I have the feeling that the OS still has a lock on the database. Any ideas on 
how to prevent this or on how to recover from this situation?

I am using the following setup:
-sqlite-3.2.1
-linux/i686/2.6.9-1.667smp
-application using posix threads. Only one thread is accessing the database.

Thanks,
J.J. Krabbendam

Reply via email to