google-code-export / oregoncore

Automatically exported from code.google.com/p/oregoncore
GNU General Public License v2.0
1 stars 0 forks source link

Online status reset during update loop #355

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
By celtus (25 November 2010 - automatically ported issue):

At some point during update, the values of characters.online and 
account.active_realm_id are reset to 0, even though the character is still in 
the world.
MySQL Log:
101125 11:47:19    9666 Query       SELECT 
id,receiver,subject,message,money,item,item_count FROM mail_external
                   9666 Query       SELECT id FROM auctionhouse WHERE itemowner<>2 AND buyguid<>2
                   9667 Query       UPDATE account SET active_realm_id = 0 WHERE id = 2
                   9666 Query       UPDATE characters SET online = 0 WHERE account = 2

Original issue reported on code.google.com by stfxm...@gmail.com on 30 Dec 2010 at 4:38

GoogleCodeExporter commented 9 years ago
By celtus:
These queries are run together, in this order, in WorldSession.cpp on lines 80 
and 81 in the WorldSession destructor (WorldSession::WorldSession()).
If the destructor is being called while the character is still logged in, there 
may be more serious issues resulting than just the status values.

Original comment by stfxm...@gmail.com on 30 Dec 2010 at 4:38

GoogleCodeExporter commented 9 years ago

Original comment by stfxm...@gmail.com on 30 Dec 2010 at 6:13