aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-07-01 03:42:49 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-07-01 03:42:49 +0000
commite0f225831faa3d8ecce32920e2c253a046c6f9ce (patch)
tree522f023e9ce3d6e303b8f4b8669df32585d75f48
parentc63f9b3097b8463424e0a68af43bb3bd2e6b7d35 (diff)
downloadupstream-e0f225831faa3d8ecce32920e2c253a046c6f9ce.tar.gz
upstream-e0f225831faa3d8ecce32920e2c253a046c6f9ce.tar.bz2
upstream-e0f225831faa3d8ecce32920e2c253a046c6f9ce.zip
massively reduce the number of forks that busybox ash has to do while processing our scripts this is accomplished simply by changing the order in which it looks for builtins and applets
SVN-Revision: 7815
-rw-r--r--package/busybox/patches/270-ash_performance.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/package/busybox/patches/270-ash_performance.patch b/package/busybox/patches/270-ash_performance.patch
new file mode 100644
index 0000000000..eff7a5bb11
--- /dev/null
+++ b/package/busybox/patches/270-ash_performance.patch
@@ -0,0 +1,30 @@
+Index: busybox-1.4.2/shell/ash.c
+===================================================================
+--- busybox-1.4.2.orig/shell/ash.c 2007-07-01 05:33:08.371737750 +0200
++++ busybox-1.4.2/shell/ash.c 2007-07-01 05:33:11.703946000 +0200
+@@ -3957,12 +3957,6 @@
+ }
+ #endif
+
+- if (is_safe_applet(name)) {
+- entry->cmdtype = CMDNORMAL;
+- entry->u.index = -1;
+- return;
+- }
+-
+ updatetbl = (path == pathval());
+ if (!updatetbl) {
+ act |= DO_ALTPATH;
+@@ -4074,6 +4068,12 @@
+ goto success;
+ }
+
++ if (is_safe_applet(name)) {
++ entry->cmdtype = CMDNORMAL;
++ entry->u.index = -1;
++ return;
++ }
++
+ /* We failed. If there was an entry for this command, delete it */
+ if (cmdp && updatetbl)
+ delete_cmd_entry();