SQLite Forum

When using sqlite3_step(stmt) inside a transaction my busy-handler is not being called
Login
You can find a good description of how the locking process works in SQLite3 from this page, which describes the standard/default "delete" journal mode.  Where the description says "process" think "connection" as the arbitration is between database connections -- you can have multiple connections in the same process or multiple processes with a connection each, for example, and there is really no difference.

<https://sqlite.org/lockingv3.html>

Locking in databases that are using Write-Ahead-Logging is a little bit different and is described here:

<https://sqlite.org/wal.html>