> 1. As of SQLite 3.3.5, there is no multithreading (MT) problem with
> the SQLite itself. All problems come from the underlying OS libraries.
I would argue that this has always been the case. But beginning
in version 3.3.1, SQLite has taken additional steps to partially
work around problems in the OS. So the OS problems are less
troublesome.
<paranoid>
The words "partially" and "less troublesome" make me worry a bit. :-)
Can I assume that if tests threadtest1.c and threadtest2.c pass on my
platform, then there would be no serious multithreading problems? (One
crash per ice age is perfectly acceptable.)
</paranoid>
[snip]
Of course, it has always been the case and probably always will be
that you cannot use the same sqlite3 connection in two or more
threads at the same time. You can use different sqlite3 connections
at the same time in different threads, or you can move the same
sqlite3 connection across threads (subject to the constraints above)
but never, never try to use the same connection simultaneously in
two or more threads.
It's never been my intention to use one connection in multiple threads
at the same time. Open the sqlite3 connection in one thread, use some
other thread to do something with it within a transaction and close
the connection in a third one. That's all.
Thank you for your help.
Peter