mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 22:22:54 +08:00
Due to the lack of locking, there was a chance the the update thread `context` was retrieved just before the `flushContexts` call, followed by `.Refresh()` being run while the blocking behaviour was invoked. This can be seen in test failures such as https://ci.appveyor.com/project/peppy/osu/builds/39859786/tests. As an aside, I tried multiple different methods to avoid `lock()` on the update thread but they felt flaky. The overhead of lock when there's no contention is reportedly around 30-50ns, so likely not of concern. We can address it at a later point if it becomes one. |
||
---|---|---|
.. | ||
ArchiveModelManager.cs | ||
DatabaseBackedStore.cs | ||
DatabaseContextFactory.cs | ||
DatabaseWriteUsage.cs | ||
DownloadableArchiveModelManager.cs | ||
ICanAcceptFiles.cs | ||
IDatabaseContextFactory.cs | ||
IHasFiles.cs | ||
IHasGuidPrimaryKey.cs | ||
IHasPrimaryKey.cs | ||
IModelDownloader.cs | ||
IModelManager.cs | ||
ImportTask.cs | ||
INamedFileInfo.cs | ||
IRealmFactory.cs | ||
ISoftDelete.cs | ||
MemoryCachingComponent.cs | ||
MutableDatabaseBackedStore.cs | ||
MutableDatabaseBackedStoreWithFileIncludes.cs | ||
OsuDbContext.cs | ||
RealmContextFactory.cs | ||
RealmExtensions.cs | ||
StableImportManager.cs | ||
UserLookupCache.cs |