aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-07-16 20:29:46 -0300
committerariel- <ariel-@users.noreply.github.com>2016-07-16 20:29:46 -0300
commit94fb921cea188bd24080a691236ae6c3479a0ab2 (patch)
tree8d90140ce0fb0c7cc2f2690e7590fa224f947cd9
parentb991f3e13d67fa9a2fd0514953003c8459a26c04 (diff)
Core/LFGMgr: fix race condition in _SaveToDB
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp10
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