> suppose a multi-thread process has two or more threads with separate SQLite database connections to the same database file. Then a third thread comes along and wants to read something out of that same database file on its own, without using the SQLite library. The third thread does an open(), a read() and then a close(). One would think this would be harmless. But the close() system call caused the locks held on the database by all the other threads to be dropped.
IMO, this is by far the most insidious problem in this list. That's a horrible design flaw in POSIX.
IMO, this is by far the most insidious problem in this list. That's a horrible design flaw in POSIX.