Greetings,

I have a deadlock on my application when I use multiple threads.

I use 3 thread classes, let call them ThreadA, ThreadB, ThreadC.

ThreadA opens a sqlite connection, then creates a ThreadB which opens a sqlite connection then creates a ThreadC which also opens a sqlite connection (all connections to the same database). The application creates serveral concurrent ThreadA threads.

So this looks like this:
ThreadA (open) -> ThreadB (open) -> ThreadC (open)
ThreadA (open) -> ThreadB (open) -> ThreadC (open)
ThreadA (open) -> ThreadB (open) -> ThreadC (open)
ThreadA (open) -> ThreadB (open) -> ThreadC (open)
...

The deadlock happens on eithre ThreadB or ThreadC at the time when sqlite3_open() is called. I don't get a return code, the application just freeze somewhere within the open method.

Now if I run DIRECT concurrent instances of ThreadB (or ThreadC) it doesn't happen, so I'm wondering if there is an issue with threads creating other threads that open sqlite connections.

Thanks
Voxen

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to