mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
- Fix potential singleton memory deallocation problems
- Fix ¨mysql_global_end() 1 thread didn´t exit¨ error Author: Derex --HG-- branch : trunk
This commit is contained in:
@@ -83,6 +83,14 @@ char ** cli_completion(const char * text, int start, int /*end*/)
|
||||
rl_bind_key('\t',rl_abort);
|
||||
return (matches);
|
||||
}
|
||||
|
||||
int cli_hook_func(void)
|
||||
{
|
||||
if (World::IsStopped())
|
||||
rl_done = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void utf8print(void* /*arg*/, const char* str)
|
||||
@@ -717,6 +725,7 @@ void CliRunnable::run()
|
||||
//sLog.outString("");
|
||||
#if PLATFORM != WINDOWS
|
||||
rl_attempted_completion_function = cli_completion;
|
||||
rl_event_hook = cli_hook_func;
|
||||
#endif
|
||||
if (sConfig.GetBoolDefault("BeepAtStart", true))
|
||||
printf("\a"); // \a = Alert
|
||||
|
||||
@@ -74,6 +74,8 @@ void usage(const char *prog)
|
||||
/// Launch the Trinity server
|
||||
extern int main(int argc, char **argv)
|
||||
{
|
||||
ACE::init();
|
||||
|
||||
///- Command line parsing to get the configuration file name
|
||||
char const* cfg_file = _TRINITY_CORE_CONFIG;
|
||||
int c=1;
|
||||
@@ -144,12 +146,16 @@ extern int main(int argc, char **argv)
|
||||
|
||||
///- and run the 'Master'
|
||||
/// \todo Why do we need this 'Master'? Can't all of this be in the Main as for Realmd?
|
||||
return sMaster.Run();
|
||||
int ret = sMaster.Run();
|
||||
|
||||
// at sMaster return function exist with codes
|
||||
// 0 - normal shutdown
|
||||
// 1 - shutdown at error
|
||||
// 2 - restart command used, this code can be used by restarter for restart Trinityd
|
||||
|
||||
ACE::fini();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
Reference in New Issue
Block a user