ncruces/go-sqlite3

WAL blocking locks

Closed this issue · 0 comments

Implement WAL blocking locks.

Define SQLITE_ENABLE_SETLK_TIMEOUT as 2 to ensure the busy handler is regularly invoked, which means we still respect context cancellation.

These should be especially useful on macOS, where F_SETLKWTIMEOUT is a thing.
It's a guess if Linux gains anything from it.
For BSD shmLock this may be a bit challenging to implement.