From 021e48e3ae3ac2aeeebf1662e4ff3a41a750f0b7 Mon Sep 17 00:00:00 2001 From: timriker Date: Tue, 14 Oct 2003 21:16:35 +0000 Subject: [PATCH] show modules on reload git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@845 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/UserExtra.pl | 6 +++--- src/modules.pl | 22 ++++++++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/UserExtra.pl b/src/UserExtra.pl index d028ca5..0292db7 100644 --- a/src/UserExtra.pl +++ b/src/UserExtra.pl @@ -58,7 +58,7 @@ sub chaninfo { ### line 1. foreach (sort keys %channels) { - if (/^\s*$/ or / /) { + if ( /^\s*$/ or / / ) { &status("chanstats: fe channels: chan == NULL."); &ircCheck(); next; @@ -622,8 +622,8 @@ sub userCommands { &status("USER reload $who"); &pSReply("reloading..."); - &reloadAllModules(); - &pSReply("reloaded."); + my $modules = &reloadAllModules(); + &pSReply("reloaded:$modules"); return; } diff --git a/src/modules.pl b/src/modules.pl index 62c8e1d..3dbda58 100644 --- a/src/modules.pl +++ b/src/modules.pl @@ -197,40 +197,44 @@ sub loadMyModulesNow { ### rename to moduleReloadAll? sub reloadAllModules { + my $retval = ""; + &VERB("Module: reloading all.",2); # obscure usage of map and regex :) foreach (map { s/.*?\/?src/src/; $_ } keys %moduleAge) { - &reloadModule($_); + $retval .= &reloadModule($_); } &VERB("Module: reloading done.",2); + return $retval; } ### rename to modulesReload? sub reloadModule { my ($mod) = @_; my $file = (grep /\/$mod/, keys %INC)[0]; + my $retval = ""; # don't reload if it's not our module. if ($mod =~ /::/ or $mod !~ /pl$/) { &VERB("Not reloading $mod.",3); - return; + return $retval; } if (!defined $file) { &WARN("rM: Cannot reload $mod since it was not loaded anyway."); - return; + return $retval; } if (! -f $file) { &ERROR("rM: file '$file' does not exist?"); - return; + return $retval; } if (grep /$mod/, @myModulesReloadNot) { &DEBUG("rM: should not reload $mod"); - return; + return $retval; } my $age = (stat $file)[9]; @@ -238,13 +242,13 @@ sub reloadModule { if (!exists $moduleAge{$file}) { &DEBUG("Looks like $file was not loaded; fixing."); } else { - return if ($age == $moduleAge{$file}); + return $retval if ($age == $moduleAge{$file}); if ($age < $moduleAge{$file}) { &WARN("rM: we're not gonna downgrade '$file'; use touch."); &DEBUG("age => $age"); &DEBUG("mA{$file} => $moduleAge{$file}"); - return; + return $retval; } my $dc = &Time2String($age - $moduleAge{$file}); @@ -259,13 +263,15 @@ sub reloadModule { delete $INC{$file}; eval "require \"$file\""; # require or use? if (@$) { - &DEBUG("rM: failure: @$"); + &DEBUG("rM: failure: @$ "); } else { my $basename = $file; $basename =~ s/^.*\///; &status("Module: reloaded $basename"); + $retval = " $basename"; $moduleAge{$file} = $age; } + return $retval; } ### -- 2.39.2