diff --git a/src/fmdb/FMDatabase.m b/src/fmdb/FMDatabase.m index 566f6b1..b14fe98 100644 --- a/src/fmdb/FMDatabase.m +++ b/src/fmdb/FMDatabase.m @@ -231,7 +231,11 @@ static int FMDBDatabaseBusyHandler(void *f, int count) { NSTimeInterval delta = [NSDate timeIntervalSinceReferenceDate] - (self->_startBusyRetryTime); if (delta < [self maxBusyRetryTimeInterval]) { - sqlite3_sleep(50); // milliseconds + int requestedSleepInMillseconds = arc4random_uniform(50) + 50; + int actualSleepInMilliseconds = sqlite3_sleep(requestedSleepInMillseconds); + if (actualSleepInMilliseconds != requestedSleepInMillseconds) { + NSLog(@"WARNING: Requested sleep of %i milliseconds, but SQLite returned %i. Maybe SQLite wasn't built with HAVE_USLEEP=1?", requestedSleepInMillseconds, actualSleepInMilliseconds); + } return 1; }