Kevin Schmeichel wrote:
  By examining the code, it can be seen that there are
many places where SQLITE_BUSY is returned (from an API
function) without the busy handler being called.

  Anyone know if there is any reason for this?  I
would have thought that the busy handler would be
called *every* time that the db is busy.


There are circumstances where waiting and retrying a lock will not help. In those cases, there is no point in calling the busy handler. The busy handler is also not called when failing to obtain a RESERVED lock unless the library is recompiled with -DSQLITE_BUSY_RESERVED_LOCK=1. Not waiting on a reserved lock helps to resolve locking conflicts faster.


-- D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565



Reply via email to