Changeset 12399

Show
Ignore:
Timestamp:
05/26/08 02:24:16 (5 years ago)
Author:
topia
Message:

* use runloop singleton only.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/tiarra/branches/module-reload/main/ReloadTrigger.pm

    r12334 r12399  
    88use warnings; 
    99use RunLoop; 
    10 use Configuration; 
    11 use ModuleManager; 
    1210use Timer; 
    1311 
     
    1715    # モジュール側で更新された場合になにかの処理をするには、 
    1816    # 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; 
    2325    } 
    2426} 
    2527 
    2628sub 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; 
    2834} 
    2935 
    3036sub 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; 
    3440    } 
    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( 
    3646        check_module_update => 1, 
    3747       ); 
     
    3949 
    4050sub _install_reload_timer { 
     51    my $runloop = shift; 
     52    unless (ref($runloop) && $runloop->isa('RunLoop')){ 
     53        $runloop = RunLoop->shared_loop; 
     54    } 
    4155    Timer->new( 
    4256        Name => __PACKAGE__.'/reload', 
     
    4559            reload_all_if_updated; 
    4660        } 
    47        )->install; 
     61       )->install($runloop); 
    4862} 
    4963