diff options
author | August Mueller <gus@flyingmeat.com> | 2014-01-01 21:27:45 +0400 |
---|---|---|
committer | August Mueller <gus@flyingmeat.com> | 2014-01-01 21:27:45 +0400 |
commit | 74b01bd4581d68ef6f6ffcb0833ae9f4a47cd9b5 (patch) | |
tree | abeaab7b80a2ae9c9cf123cc3643b42bcd00062e | |
parent | 3f8cee50c46a3c2b3deb4323d10859c7c9f84595 (diff) |
CleanupbusyTimeout
-rw-r--r-- | src/FMDatabasePool.m | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/FMDatabasePool.m b/src/FMDatabasePool.m index f515618..b6cc543 100644 --- a/src/FMDatabasePool.m +++ b/src/FMDatabasePool.m @@ -100,11 +100,13 @@ - (FMDatabase*)db { __block FMDatabase *db; - __block BOOL shouldNotifyDelegate = NO; + [self executeLocked:^() { db = [_databaseInPool lastObject]; + BOOL shouldNotifyDelegate = NO; + if (db) { [_databaseOutPool addObject:db]; [_databaseInPool removeLastObject]; @@ -139,8 +141,9 @@ if (![_databaseOutPool containsObject:db]) { [_databaseOutPool addObject:db]; - if ([_delegate respondsToSelector:@selector(databasePool:didAddDatabase:)] && shouldNotifyDelegate) + if (shouldNotifyDelegate && [_delegate respondsToSelector:@selector(databasePool:didAddDatabase:)]) { [_delegate databasePool:self didAddDatabase:db]; + } } } } |