Subject: [PATCH 2/5] cleanup: use -ash builtins to iterate through list of 
files and insmod the content. we don't need to check, if the dir exists or is 
filled, if there are no files it simply does not nothing. my internal 
benchmarks has shown, that there is a speed-difference for old and newstyle by 
50 milliseconds for 2000 kernelmodules - so it doesnt matter

---
 package/base-files/files/etc/functions.sh |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/package/base-files/files/etc/functions.sh 
b/package/base-files/files/etc/functions.sh
index e4b3bad..17d4189 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -206,10 +206,19 @@ config_list_foreach() {
 }
 
 load_modules() {
-       [ -d /etc/modules.d ] && {
-               cd /etc/modules.d
-               sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
-       }
+       local file line
+
+       for file in /etc/modules.d/* ; do
+               while read line ; do
+                       case "$line" in
+                               "#"*|"")
+                               ;;
+                               *)
+                                       insmod $line
+                               ;;
+                       esac
+               done <$file
+       done
 }
 
 include() {
-- 
1.7.1

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to