diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-07-16 20:29:46 -0300 | 
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-07-16 20:29:46 -0300 | 
| commit | 94fb921cea188bd24080a691236ae6c3479a0ab2 (patch) | |
| tree | 8d90140ce0fb0c7cc2f2690e7590fa224f947cd9 | |
| parent | b991f3e13d67fa9a2fd0514953003c8459a26c04 (diff) | |
Core/LFGMgr: fix race condition in _SaveToDB
| -rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 9550f435710..4ca1a68c048 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -82,19 +82,19 @@ void LFGMgr::_SaveToDB(ObjectGuid guid, uint32 db_guid)      if (!guid.IsGroup())          return; -    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_LFG_DATA); +    SQLTransaction trans = CharacterDatabase.BeginTransaction(); +    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_LFG_DATA);      stmt->setUInt32(0, db_guid); - -    CharacterDatabase.Execute(stmt); +    trans->Append(stmt);      stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_LFG_DATA);      stmt->setUInt32(0, db_guid); -      stmt->setUInt32(1, GetDungeon(guid));      stmt->setUInt32(2, GetState(guid)); +    trans->Append(stmt); -    CharacterDatabase.Execute(stmt); +    CharacterDatabase.CommitTransaction(trans);  }  /// Load rewards for completing dungeons  | 
