Richard Hipp wrote: 

> sqlite3 db ./foo -vfs unix-dotfile 
> 
> That uses an alternative VFS that uses dot-file locking instead of 
> posix advisory locks.  The dot-file locks are someone slower and have less 
> concurrency, so the use of "PRAGMA locking_mode=EXCLUSIVE" might also be a 
> good idea in such a configuration.  

Looking at your code, I see that unix-dotfile locks are in reality 
always exlusive.  My guess is that the existence of a separate file 
indicates that a process owns the (unique) lock, and non-existence 
indicates no one owns the lock.  

I see you defer to open(2) with O_EXCL to get atomicity here.  

The docs leave something unclear: 

If I ATTACH a database with pragma locking_mode=EXCLUSIVE under the 
unix-dotfile VFS, get a lock on the attached db, execute a write 
transaction on it, and then DETACH the database, then I'm assuming the 
lock on the attached db is released.  Is that right?  

Eric 

-- 
Eric A. Smith

I still maintain the point that designing a monolithic kernel in 
1991 is a fundamental error.  Be thankful you are not my student.  
You would not get a high grade for such a design.
    -- Andrew Tanenbaum, to Linus Torvalds
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to