Hi, I see something in the second backup example ( http://www.sqlite.org/backup.html ) that seems like logical error to me.
if( rc==SQLITE_OK || rc==SQLITE_BUSY || rc==SQLITE_LOCKED ){ sqlite3_sleep <http://www.sqlite.org/c3ref/sleep.html>(250); } Why should we sleep 250 milliseconds if sqlite result is OK? Shouldn't we wait only if database is busy or locked?