public static function cleanup($message = 'Clean shutdown!') { GWF_CachedCounter::persist(); if (NULL !== Dog_Init::getStartupTime()) { GWF_Counter::increaseCount('dog_uptime', Dog_Init::getUptime()); } if (self::$CLEANED === false) { self::$CLEANED = true; foreach (Dog::getServers() as $server) { $server instanceof Dog_Server; if ($server->isConnected()) { $server->disconnect($message); } } } die(0); }
<?php $lang = array('en' => array('help' => 'Usage: %CMD% [<message here...>]. Initiate a reboot and quit with a message.', 'default' => '%s is rebooting me :O')); // GWF_HTTP::getFromURL("") return Dog::reply('YOU FOUND A TODO!'); $plugin = Dog::getPlugin(); $message = $plugin->argc() === 0 ? $plugin->lang('default', array(Dog::getUser()->displayName())) : $plugin->msg(); foreach (Dog::getServers() as $server) { $server instanceof Dog_Server; $server->disconnect($message); } Dog_Launcher::kill();
public static function mainloop() { Dog_Log::debug('Dog::mainloop() - start'); while (!Dog_Launcher::shouldRestart()) { foreach (self::$SERVERS as $server) { $server instanceof Dog_Server; if ($server->isActive()) { self::processServer($server); } } Dog_Timer::sleepAndTrigger(); self::$WORKER->executeCallbacks(); } Dog_Launcher::cleanup(); Dog_Log::debug('Dog::mainloop() - exited'); }