- Rewrite KeepAlive method for DatabaseWorkerPool. Use mysql_ping instead of explicit select queries, and also schedule KeepAlives for asynchronous threads.
NOTE: While the function is implemented and previous keepalive calls were transformed, it´s possible the keepalive call will need to be placed in several other locations in the code. Please leave feedback on whether or not this fixes your timeout issues.
Update issue #4062
--HG--
branch : trunk
- Fix another pesky linux specific compile error. (Thanks to Derex/Aokromes)
- Fix a typo in an assertion. (Thanks to Derex/Aokromes)
- Add proper zero termination in SetStructuredValue to get rid of memory issues that arose in the last few commits.
- Fix a crash caused by vsprintf´ing std::string in SystemMgr::LoadVersion()
--HG--
branch : trunk
- Rewrite Field class to be able to store both binary prepared statement data and data from adhoc query resultsets
- Buffer the data of prepared statements using ResultSet and Field classes and let go of mysql c api structures after PreparedResultSet constructor. Fixes a race condition and thus a possible crash/data corruption (issue pointed out to Derex, basic suggestion by raczman)
- Conform PreparedResultSet and ResultSet to the same design standards, and using Field class as data buffer class for both
* NOTE: This means the fetching methods are uniform again, using ¨Field* fields = result->Fetch();¨ and access to elements trough fields[x].
* NOTE: for access to the correct row in prepared statements, ¨Field* fields = result->Fetch();¨ must ALWAYS be called inside the do { }while(result->NextRow()) loop.
* NOTE: This means that Field::GetString() returns std::string object and Field::GetCString() returns const char* pointer.
Still experimental and all that jazz, not recommended for production servers until feedback is given.
--HG--
branch : trunk
* add union into ScriptInfo structure (thanks NoFantasy for the idea);
* move scripts methods from Map.cpp to new file MapScripts.cpp;
* remove magic numbers and introduce eScriptFlags enumeration.
It's just a beginning and more changes to come. Stay tuned!
--HG--
branch : trunk
- Set SSE2 compile-flags only when used on 32-bit platforms (only used on x86 platforms, as x64 / Itanium has this as a standard)
- Clean up/merge some of the 64-bit/32-bit compiler options
- Clean up use of the PLATFORM variable (now sets PLATFORM 32 or PLATFORM 64, shaving off the CMAKE_SIZEOF_VOID_P test slightly)
--HG--
branch : trunk
- Code Style
- Explicit removal of the proposal if player leaves the queue (do not waits to ::Update)
- Force to leave LFG system if group/player is joining and its already in
- Change some debug msgs and fix some typos (error --> debug)
- Offer to continue: Remove duplicate checks
- Move body functions from .h to .cpp
- Revert 11e39d620d and check if group recently joined by comparing joinTimes
--HG--
branch : trunk