=== modified file 'src/CacheManager.h' --- src/CacheManager.h 2009-04-07 13:51:57 +0000 +++ src/CacheManager.h 2010-06-08 10:16:57 +0000 @@ -125,6 +125,12 @@ virtual void run (StoreEntry *sentry); ReconfigureAction(); }; + class RotateAction : public CacheManagerAction + { + public: + virtual void run (StoreEntry *sentry); + RotateAction(); + }; class OfflineToggleAction : public CacheManagerAction { public: === modified file 'src/cache_manager.cc' --- src/cache_manager.cc 2010-03-05 09:11:37 +0000 +++ src/cache_manager.cc 2010-06-08 10:27:48 +0000 @@ -56,6 +56,7 @@ registerAction(new OfflineToggleAction); registerAction(new ShutdownAction); registerAction(new ReconfigureAction); + registerAction(new RotateAction); registerAction(new MenuAction(this)); } @@ -374,6 +375,21 @@ /// \ingroup CacheManagerInternal void +CacheManager::RotateAction::run(StoreEntry * sentry) +{ + debugs(16, DBG_IMPORTANT, "Rotate Logs by Cache Manager command."); + storeAppendPrintf(sentry, "Rotating Squid Process Logs ...."); +#ifdef _SQUID_LINUX_THREADS_ + rotate_logs(SIGQUIT); +#else + rotate_logs(SIGUSR1); +#endif +} +/// \ingroup CacheManagerInternal +CacheManager::RotateAction::RotateAction() : CacheManagerAction("rotate","Rotate Squid Logs", 1, 1) { } + +/// \ingroup CacheManagerInternal +void CacheManager::OfflineToggleAction::run(StoreEntry * sentry) { Config.onoff.offline = !Config.onoff.offline;