Changeset 12399
- Timestamp:
- 05/26/08 02:24:16 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/tiarra/branches/module-reload/main/ReloadTrigger.pm
r12334 r12399 8 8 use warnings; 9 9 use RunLoop; 10 use Configuration;11 use ModuleManager;12 10 use Timer; 13 11 … … 17 15 # モジュール側で更新された場合になにかの処理をするには、 18 16 # Configuration::Hook の reloaded を使ってください。 19 if (Configuration->shared_conf->check_if_updated) { 20 Configuration->shared_conf->load; 21 RunLoop->shared_loop->update_networks; 22 ModuleManager->shared_manager->update_modules; 17 my $runloop = shift; 18 unless (ref($runloop) && $runloop->isa('RunLoop')){ 19 $runloop = RunLoop->shared_loop; 20 } 21 if ($runloop->config->check_if_updated) { 22 $runloop->config->load; 23 $runloop->update_networks; 24 $runloop->mod_manager->update_modules; 23 25 } 24 26 } 25 27 26 28 sub reload_mods_if_updated { 27 ModuleManager->shared_manager->reload_modules_if_modified; 29 my $runloop = shift; 30 unless (ref($runloop) && $runloop->isa('RunLoop')){ 31 $runloop = RunLoop->shared_loop; 32 } 33 $runloop->mod_manager->reload_modules_if_modified; 28 34 } 29 35 30 36 sub reload_all_if_updated { 31 if (Configuration->shared_conf->check_if_updated) {32 Configuration->shared_conf->load; 33 RunLoop->shared_loop->update_networks;37 my $runloop = shift; 38 unless (ref($runloop) && $runloop->isa('RunLoop')){ 39 $runloop = RunLoop->shared_loop; 34 40 } 35 ModuleManager->shared_manager->update_modules( 41 if ($runloop->config->check_if_updated) { 42 $runloop->config->load; 43 $runloop->update_networks; 44 } 45 $runloop->mod_manager->update_modules( 36 46 check_module_update => 1, 37 47 ); … … 39 49 40 50 sub _install_reload_timer { 51 my $runloop = shift; 52 unless (ref($runloop) && $runloop->isa('RunLoop')){ 53 $runloop = RunLoop->shared_loop; 54 } 41 55 Timer->new( 42 56 Name => __PACKAGE__.'/reload', … … 45 59 reload_all_if_updated; 46 60 } 47 )->install ;61 )->install($runloop); 48 62 } 49 63
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)