aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared
AgeCommit message (Collapse)Author
2012-03-28Partially revert a36a0a77ef75e66933ac5b8802a9ec7906acfd0b.click
Cleaning databases for old/deprecated and expired quests should never be a developers choice specifically. This should be done by admins, not developers, through the use of the already existing paramters found in the worldserver config : CleanCharacterDB / PersistentCharacterCleanFlags An adjustment to the respective questloader prepared statement has been done to accomodate for the earlier change (by not loading such quests into memory at all). Documentation for how this cleanup-procedures work already exists in the core : doc/CharacterDBCleanup.txt.
2012-03-27Core/DB Layer: Fix helgrind errors on some concurrent access to resultset ↵Machiavelli
auto pointers. Example: ==8753== Possible data race during read of size 8 at 0x2e803e60 by thread #8 ==8753== at 0xDD0FFC: PreparedResultSet::operator[](unsigned int) const (QueryResult.h:83) ==8753== by 0x131D82D: WorldSession::HandleCharEnum(Trinity::AutoPtr<PreparedResultSet, ACE_Null_Mutex>) (CharacterHandler.cpp:217) ==8753== by 0x118F8C3: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1087) {..} ==8753== Address 0x2e803e60 is 0 bytes inside a block of size 16 alloc'd ==8753== at 0x4C28B75: operator new(unsigned long) (vg_replace_malloc.c:261) ==8753== by 0x137D515: __gnu_cxx::new_allocator<Field*>::allocate(unsigned long, void const*) (new_allocator.h:92) ==8753== by 0x137D378: std::_Vector_base<Field*, std::allocator<Field*> >::_M_allocate(unsigned long) (in /home/aokromes/bin/bin/worldserver) ==8753== by 0x137CEC6: std::vector<Field*, std::allocator<Field*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<Field**, std::vector<Field*, std::allocator<Field*> > >, unsigned long, Field* const&) (vector.tcc:416) ==8753== by 0x137CB27: std::vector<Field*, std::allocator<Field*> >::insert(__gnu_cxx::__normal_iterator<Field**, std::vector<Field*, std::allocator<Field*> > >, unsigned long, Field* const&) (stl_vector.h:944) ==8753== by 0x137C964: std::vector<Field*, std::allocator<Field*> >::resize(unsigned long, Field*) (stl_vector.h:632) ==8753== by 0x137BFCA: PreparedResultSet::PreparedResultSet(st_mysql_stmt*, st_mysql_res*, unsigned long, unsigned int) (QueryResult.cpp:98) ==8753== by 0x137A12B: MySQLConnection::Query(PreparedStatement*) (MySQLConnection.cpp:493) ==8753== by 0x137F663: PreparedStatementTask::Execute() (PreparedStatement.cpp:412) Have a feeling this is a false positive, though. Nevertheless good to get rid of.
2012-03-27Core/DB Layer: - Fix "Thread #1 unlocked a not-locked lock at 0x6D56E90" ↵Machiavelli
helgrind error (thanks to Aokromes for logs). Cause was unlocking MySQL connection on shutdown, but concurrent access at this point is not required. - Remove redundant locking in PingOperation. Since these are delayed to async threads with their own MySQL connection, no concurrent access here either. - Codestyle cleanup - Documentation refining
2012-03-27Core: Remove the MersenneTwiser-library (SFMT is now considered stable ↵click
enough for full deployment)
2012-03-26Core/DBLayer: Restore pet loadingleak
closes #5878
2012-03-26Core/DBLayer: Convert PAppend() queries to prepared statements No.4 NOTE:leak
Most of the cores queries have been converted to prepared statements now. If your code contains queries, please either use the exiting or implement new statements. The only exclusions are one-time queries (e.g. for core startup) and queries that can't be prepared due to limitations.
2012-03-26Partial revert of "Core/DB Layer: Fix a memory leak.", mysql library related ↵Machiavelli
stuff. Original memory leak fix is still in place.
2012-03-26Core/DB Layer: Fix a memory leak for synchronously executed prepared statements.Machiavelli
2012-03-26Core/DB Layer: Fix a memory leak.Machiavelli
2012-03-26Auth/Realmlist: Make use of RealmFlags and rename color to flag (core- and ↵kaelima
dbwise) Also fix connecting with realmflag & 4
2012-03-26Core/DB Layer: Make SQLTransaction AutoPtr thread safe (valgrind caught a ↵Machiavelli
race condition)
2012-03-25Core/Misc: Implement Trinity::Auto_Ptr. Ditches ACE_Refcounted_AutoPtr (we ↵Machiavelli
strongly suspect it does NOT clean up the underlying pointer properly). Underlying type is now ACE_Strong_Bound_Ptr
2012-03-25Core/DBLayer: Convert PAppend() queries to prepared statements No.3leak
2012-03-25Core/DBLayer: Convert PAppend() queries to prepared statements No.2leak
2012-03-25Core/DBLayer: Typo on query conversionleak
2012-03-25Core/DBLayer: Convert PAppend() queries to prepared statements No.1leak
2012-03-25Update src/server/shared/Database/Field.hMachiavelli
2012-03-25Core/DBLayer: Refine field type checks in Field::GetXXX methods. Should give ↵Machiavelli
us logs of wrong GetXXX calls for a certain type without having to dig trough valgrind logs.
2012-03-25Core/DBLayer: Restore pinfo timestamp output (Prepared statment results ↵leak
don't deliver TIMESTAMP as string)
2012-03-24Core: Fix .pinfo handling of player level and securitylevel after recent ↵click
cleanups (and clean up my last commit)
2012-03-24Core/DB layer: Change functionality in previous memoryleak-fix (Patch by ↵click
raczman)
2012-03-24Core/DB Layer: Fix a memory leak. Author: raczman (yes, you read correctly)Machiavelli
2012-03-24Core/DBLayer: Query should actually be available on both sync and async ↵leak
mysql connections
2012-03-24Core/DBLayer: Prepare statement on the right connectionleak
fixes #5862
2012-03-24Core/DBLayer: Convert PQuery() queries to prepared statementsleak
2012-03-19Core/DBLayer: Remnant cleanupsleak
2012-03-19Core/DBLayer: Convert DirectExecute() queries that are not runtime relevant ↵leak
back to regular queries
2012-03-19Core/DBLayer: Convert PExecute() queries to prepared statementsleak
2012-03-09Core. Fix non-PCH buildclick
2012-03-06Core/Shared: Add thread-safe access to BigNumber::AsByteArray()leak
fixes #5469
2012-03-04Core: Adjust parameter output values to avoid excessive warning outputs on ↵click
GCC and some other minor warnings
2012-03-04Core/Shared: Remove unused functionsleak
2012-02-29Core/Packets: Fixed exceptions being incorrectly thrown when appending empty ↵Shauren
strings to packets Closes #5486 Closes #5495
2012-02-29Update src/server/shared/Packets/ByteBuffer.hteyrnon
2012-02-29Core: Build fix (for real this time) and warning fixShauren
2012-02-28Fixed build broken in 218ed813d0a2d26fd594ddafa2132cc7c5209bb4Shauren
2012-02-28Core/Misc: Add more extensive ByteBuffer exceptions to trace down seemingly ↵Machiavelli
random crashes.
2012-02-26Core/Misc: Add some documentation to TRINITY_WRITE_GUARD and ↵Machiavelli
TRINITY_READ_GUARD because ACE's documentation on underlying objects is not clear.
2012-02-25Revert "Core: Fix the SFMT randgen-initbug" - alignment-fix is now properly ↵click
handled within the respective code This reverts commit 28310f0938a8776d0cb42ba8a64f125cc42bff6b.
2012-02-25Core/Calendar: Fixed crash happening when inviting an offline player to an eventShauren
2012-02-25Core: Fix the SFMT randgen-initbugElron103
Signed-off-by: click <click@gonnamakeyou.com>
2012-02-20Core/Warden: Update copyright information / More cleanupsleak
2012-02-19Core/Warden: Base implementation for Warden functionalityleak
Note: The default config file action for clients failing the checks can be changed for each check via the characters.warden_action table Credits to TOM_RUS
2012-02-18Core: Clean up whitespace and tabs in the base sourcetreeclick
2012-02-15Core/DBLayer: Remove unused structleak
2012-02-14Codestyle: Renamed some variables to fit codestyle, corrected order in ↵Subv
structure/class fields to match alignment (they use slightly less memory now) Signed-off-by: Subv <s.v.h21@hotmail.com>
2012-01-30Core/DBLayer: Restore removal and cleanup of respawn times of expired instancesleak
2012-01-24Core: Fix non-PCH build and remove a few warnings.click
2012-01-14Core/LFG:Subv2112
Fix priority of the player when its added to the lfg group Better implementation of the Dungeon Deserter debuff Rewrite the NeedBeforeGreed loot Fixed players being shown as Unknown Entity when entering the lfg group Some incremental optimizations after original patch Thanks to Retriman and Paecman for base implementation Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
2012-01-14Core/Movement: Implement spline movement subsystem.Machiavelli
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc). Proper implementation of effects such as charge, jump, cyclic movement will rely on it. However, need improve our states system before. Technical changes: * Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation. * Precission increased. There are no more position desync issues since client's position calculation formulas used. * Now possible to move by paths with multiple points, send whole path to client. -- Original author of research and implementation: SilverIce. Massive kudos. Original port for Trinity (ref #4629) Chaplain and Venugh With the following incremental fixes during my review: - Restore flightmaster end grid pre-loading - Fix uninitialized Creature::m_path_id - Add missing trinity_string entries for .movegens command - Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time Known issues: - Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0. This is caused by bad DB data. This commit didn't "break" it. Do not forget to re-run CMake before compiling.