>#define SQLITE_ENABLE_FTS3 1
>#define SQLITE_OMIT_DEPRECATED 1
>#define SQLITE_OMIT_SHARED_CACHE 1
>#define SQLITE_OMIT_AUTOMATIC_INDEX 1
>#define SQLITE_OMIT_DECLTYPE 1
>
>#define SQLITE_DEFAULT_MMAP_SIZE 0
>#define SQLITE_DEFAULT_MEMSTATUS 0
>#define SQLITE_DEFAULT_SYNCHRONOUS 1
>
>#define SQLITE_THREADSAFE 2
>
>#define SQLITE_MAX_MMAP_SIZE 0
>#define SQLITE_TEMP_STORE 3
>
>
>I've set it to be thread-safe. 

Actually, no.  You have set it to "thread unsafe".  Thread Safe is the default, 
which is SQLITE_THREADSAFE=1

The values of SQLITE_THREADSAFE are
  0:  No threading.     SQLite3 routines will only ever be called from a single 
thread.
  1:  Thread Safe.      SQLite3 will impose thread-safety on your code so that 
you may freely do whatever you want from any thread.
  2:  No Thread Safety: Thread Safety is turned off.  You are responsible for 
ensuring thread safety.

If you turn on thread safety (return to the default), does the application work 
properly?  If so, you have made a threading error in your code from which 
"thread safe" is protecting you -- on the other hand, if it still does not work 
properly then the error does not involve threading (within the SQLite3 code) 
but is rather something else the application is doing wrong (like tromping on 
memory owned by SQLite3).




_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to