Bug 1278524 - TSan: data races netwerk/cache2/CacheEntry.{h,cpp} on CacheEntry::{mUseDisk, mSecurityInfoLoaded, mPreventCallbacks}. r=honzab.moz.

This commit is contained in:
Julian Seward
2016-06-30 12:24:54 +02:00
parent 05593f6007
commit 20763ca0e7
2 changed files with 9 additions and 7 deletions

View File

@@ -292,10 +292,16 @@ private:
nsCString mEnhanceID;
nsCString mStorageID;
// mUseDisk, mSkipSizeCheck, mIsDoomed are plain "bool", not "bool:1",
// so as to avoid bitfield races with the byte containing
// mSecurityInfoLoaded et al. See bug 1278524.
//
// Whether it's allowed to persist the data to disk
bool const mUseDisk : 1;
bool const mUseDisk;
// Whether it should skip max size check.
bool const mSkipSizeCheck : 1;
bool const mSkipSizeCheck;
// Set when entry is doomed with AsyncDoom() or DoomAlreadyRemoved().
bool mIsDoomed;
// Following flags are all synchronized with the cache entry lock.
@@ -316,10 +322,6 @@ private:
// of the cache file)
bool mPinningKnown : 1;
// Set when entry is doomed with AsyncDoom() or DoomAlreadyRemoved().
// Left as a standalone flag to not bother with locking (there is no need).
bool mIsDoomed;
static char const * StateString(uint32_t aState);
enum EState { // transiting to: