From 3d9ca3b2a665907d43e34a16f636319fd3abec24 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 20 Oct 2015 18:15:51 +0000 Subject: [PATCH] SCST.pm: Do not cache the driver list Signed-off-by: Eugene Apollonsky git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6549 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- .../scst-0.9.10/lib/SCST/SCST.pm | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/scstadmin/scstadmin.sysfs/scst-0.9.10/lib/SCST/SCST.pm b/scstadmin/scstadmin.sysfs/scst-0.9.10/lib/SCST/SCST.pm index a74d5ad03..3c7b6423e 100644 --- a/scstadmin/scstadmin.sysfs/scst-0.9.10/lib/SCST/SCST.pm +++ b/scstadmin/scstadmin.sysfs/scst-0.9.10/lib/SCST/SCST.pm @@ -542,28 +542,26 @@ sub setScstAttribute { SCST_C_ATTRIBUTE_STATIC); } -my @_drivers; sub drivers { my $self = shift; + my $dHandle = new IO::Handle; + my $_path = SCST_TARGETS_DIR(); + my @drivers; - if (!@_drivers) { - my $dHandle = new IO::Handle; - my $_path = SCST_TARGETS_DIR(); - if (opendir $dHandle, $_path) { - foreach my $driver (readdir($dHandle)) { - next if (($driver eq '.') || ($driver eq '..')); + if (opendir($dHandle, $_path)) { + foreach my $driver (readdir($dHandle)) { + next if (($driver eq '.') || ($driver eq '..')); - if (-d make_path(SCST_TARGETS_DIR(), $driver)) { - push @_drivers, $driver; - } + if (-d make_path(SCST_TARGETS_DIR(), $driver)) { + push @drivers, $driver; } - close $dHandle; - } else { - return (undef, "drivers(): Unable to read directory '$_path': $!"); } + close $dHandle; + } else { + return (undef, "drivers(): Unable to read directory '$_path': $!"); } - return (\@_drivers, undef); + return (\@drivers, undef); }