I've found the problem. It was caused by a pre-compiled statement in a third party library. Since the library was used by several threads now, the statement, compiled in the context of one thread, blocked the entire database when an attempt way made to use it from another thread.
The programmer has changed his code to not use pre-compiled statements and now it works, even if used by multiple threads. Another solution would have been to maintain pre-compiled statements per thread. Since this was really hard to track down, I wonder if there would have been a way to get more info from SQLite, e.g. some debug log or anyhting? Something telling me "I'm blocking everything because I here have an statement which is in state "X" and hence no other thread can do anything right now"... -- Mario _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users