#565 All packets that serialize with the serializeCountPacket function need mutex protection

クローズ
4 ヶ月 前image によって開かれました · 3 コメント
image4 ヶ月 前 にコメントしました

the XOR/other packets get constantly created/deleted, if we call the function twice (we are multithreaded) it will cause a crash. We need to prevent with a unique_lock.

the XOR/other packets get constantly created/deleted, if we call the function twice (we are multithreaded) it will cause a crash. We need to prevent with a unique_lock.
image4 ヶ月 前 にコメントしました
共同編集者

Client::SendRecipeList

PlayerItemList::serialize

EquipmentItemList::serialize

Player::GetSpellBookUpdatePacket <-- this is what we crashed on in the previous instance, but any are possible

PlayerSkillList::GetSkillPacket

Client::SendRecipeList PlayerItemList::serialize EquipmentItemList::serialize Player::GetSpellBookUpdatePacket <-- this is what we crashed on in the previous instance, but any are possible PlayerSkillList::GetSkillPacket
image4 ヶ月 前 にコメントしました
共同編集者

char sheet is also involved, pretty much anywhere we have XOR packets or temp buffers that get deleted/newed for packets.

char sheet is also involved, pretty much anywhere we have XOR packets or temp buffers that get deleted/newed for packets.
image2 ヶ月 前 にコメントしました
共同編集者

EquipmentItemList::serialize - updated to properly protect with MEquipmentItems PlayerItemList::serialize - already protected by MPlayerItems Player::GetSpellBookUpdatePacket - added a mutex to lock this function Client::SendRecipeList - uses nullptr for the orig/xor packet not impacted PlayerSkillList::GetSkillPacket - changed MPlayerSkills from shared to unique lock

EquipmentItemList::serialize - updated to properly protect with MEquipmentItems PlayerItemList::serialize - already protected by MPlayerItems Player::GetSpellBookUpdatePacket - added a mutex to lock this function Client::SendRecipeList - uses nullptr for the orig/xor packet not impacted PlayerSkillList::GetSkillPacket - changed MPlayerSkills from shared to unique lock
image 2 ヶ月 前 に閉じられました
会話に参加するには サインイン してください。
読み込み中…
キャンセル
保存
まだコンテンツがありません