chickadee » sql-de-lite » set-busy-handler!

set-busy-handler! db procprocedure

Register the busy handler proc on the open connection db; the handler will be called repeatedly when a prepare or step operation returns SQLITE_BUSY. It is passed the two arguments (db count), which are the associated database connection and the number of times this busy handler has been invoked so far for this operation. The procedure should return #f to stop retrying and have the operation return a BUSY error to the caller, or #t if the busy operation should be retried.

By default, no busy handler is registered. Busy handlers are unique to each connection and must be registered after the connection is open.

(call-with-database
 (lambda (db)
  (set-busy-handler! db (busy-timeout 10000)) ; 10 second timeout
  ...))