D. Richard Hipp wrote:
After reading D. Richard Hipp's reply to this message I did a Google search on os_unix.c and the following is one of links that I found.For additional information on the brokenness of POSIX advisory locks and of POSIX threads, and in particular how they are especially broken when used together, read the comments in the source file os_unix.c.
http://sandbox.rulemaker.net/ngps/154
I believe the originator of this message is Ng Pheng Siong. An except from his message:
Aha! So another Unix C library that does mutexes might do the trick for SQLite's "threading" requirements. One such library is GNU Pth, an LGPL threading library that comes with a pthread API emulator. Let's do it!
... Several minor changes to SQLite source later, I have libsqlite.so built with Pth. Run lsqlite3 again with stock CMUCL. Looks good!
So my question to Ng Pheng Siong is does the Pth solution still look good? If so, then could you inform those of us who are having problems implementing SQLite multithreading applications what is it that looks so good? How did you implement your solution?
Thanks, Corwin