On Mar 16, 2010, at 5:22 AM, GeoffW wrote: > > Hello Dan > > Thanks for your useful input. To answer your questions. > >> Do you have any file-locking primitives provided by the OS? > There are no file locking OS Primitives at all that I can use. > >> Do you have clients connecting to the database from multiple >> processes? Or only multiple threads within the same process? > > My Application doesnt have a concept of processes and threads as you > might > find in Windows. > Think of it as a small data collection embedded Application. The > platform > has essentially 1 fixed Application running, made up of say 10 > different > concurrent tasks.
Do the tasks share a heap? And do you have multiple connections to the database (multiple calls to sqlite3_open() or sqlite3_open_v2(). If you only have one connection, then you don't need any locking. Have xCheckReservedLock() set its result variable to 0 for all calls. If all tasks share a heap, maybe you can implement locking in-memory using global variables in the VFS layer. Or, if you strictly use shared-cache mode, you will not need any locking. Dan. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users