mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-27 08:19:30 +08:00
Fix potential data race
This case could be considered benign however it could still be an undefined behavior to the compiler, so remove it. Ref: https://hacks.mozilla.org/2021/04/eliminating-data-races-in-firefox-a-technical-report/
This commit is contained in:
parent
05e3e46f5a
commit
a82ca6adb2
@ -184,9 +184,8 @@ SettingsStorage *SettingsStorage::instance()
|
||||
|
||||
bool SettingsStorage::save()
|
||||
{
|
||||
if (!m_dirty) return true; // Obtaining the lock is expensive, let's check early
|
||||
const QWriteLocker locker(&m_lock); // to guard for `m_dirty`
|
||||
if (!m_dirty) return true; // something might have changed while we were getting the lock
|
||||
const QWriteLocker locker(&m_lock); // guard for `m_dirty` too
|
||||
if (!m_dirty) return true;
|
||||
|
||||
const TransactionalSettings settings(QLatin1String("qBittorrent"));
|
||||
if (!settings.write(m_data))
|
||||
|
Loading…
Reference in New Issue
Block a user