Just to be clear. Is it true that I can have one and only one connection per thread?
Thanks! -- AJ On Monday, 18 March, 2013 at 9:07 PM, Alykhan Jetha wrote: > Hi Simon, > > On Monday, 18 March, 2013 at 8:43 PM, Simon Slavin wrote: > > > > > On 18 Mar 2013, at 11:47pm, Alykhan Jetha <[email protected] > > (mailto:[email protected])> wrote: > > > > > I have 2 processes (process A and process B) opening a connection to the > > > a database. > > > > Just to be sure, you mean that the two processes are totally independent, > > right ?our processes open one connection to the database /each/ ? > > > > You are talking about two process of one application, not two threads, and > > not two applications ? > > Two applications - one is a desktop app and other is a background (headless) > app. > > > > > > After process B is done its work, we call checkpoint(restart), process A > > > seems to lose its file handles (unknown IO error). > > > > All file handles, or just ones used to access SQLite ? > > I will check this and report back. > > > > > > If we don't use a checkpoint or use checkpoint(passive), the database > > > eventually gets corrupt (malformed image) when using process A. > > > > Once again, just being sure, you're talking about these, right ? > > > > <http://www.sqlite.org/c3ref/wal_checkpoint_v2.html> > > Correct. > > > > > > We are using version 3.7.15.2 built into both apps. > > > The problem is exhibited on Mac OS X 10.6 and 10.7 (haven't tried this > > > case on 10.8). > > > > > > The database is opened in both processes in WAL mode and with Normal > > > sync. Everything else is stock. > > > > > > I have the feeling I'm missing something or have it misconfigured. > > > > Doesn't ring any bells. With what you've reported already, I'm suspecting > > some sort of memory mismanagement unrelated to SQLite. Not casting > > aspersions: I've done it myself. > > > > Make sure you're checking the result codes returned by /all/ your SQLite > > calls, including ones which don't appear to be related to this problem. You > > should always deal with all results other than SQLITE_OK. > > > > Use Activity Monitor. Have it 'inspect' the processes. Use it to look at > > Open Files and Ports both before and after process B finishes. Make sure it > > agrees with what you wrote above. If it's losing all file handles then it > > should be losing the handles for dynamic libraries and fonts. > > I check on this and report back. > > > > > Simon. > > _______________________________________________ > > sqlite-users mailing list > > [email protected] (mailto:[email protected]) > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > > > > > > Thanks!! > AJ > _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

