Package: acpi-support Version: 0.137-5 Severity: normal Execution time and use of resources can be improved by avoiding unnecessary forks.
It's inefficient for CheckPolicy to 'echo' '0' or '1' instead of 'return'ing them. With the current implementation, the caller runs the function in a forked subshell: if [ `CheckPolicy` = 0 ]; then exit; fi which costs more than when 'return'ing a status code: if CheckPolicy; then exit; fi in the same shell, or even better: ! CheckPolicy || exit 0 IOW: --- lib/policy-funcs.orig 2010-08-18 23:34:26.000000000 +0200 +++ lib/policy-funcs 2010-08-22 20:54:29.000000000 +0200 @@ -23,9 +23,9 @@ if pidof -x $PMS > /dev/null || (test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon) || PowerDevilRunning ; then - echo 0; + return 0 else - echo 1; + return 1 fi } And, by the way, newline _is_ a command separator. There's no need for another one ';'. '(...)' forks a subshell to execute '...'. It's not needed, IMO, in this case. This: --- lib/policy-funcs.a 2010-08-22 20:54:29.000000000 +0200 +++ lib/policy-funcs 2010-08-22 21:07:35.000000000 +0200 @@ -20,9 +20,13 @@ getXconsole PMS="/usr/bin/gnome-power-manager /usr/bin/kpowersave /usr/bin/xfce4-power-manager" PMS="$PMS /usr/bin/guidance-power-manager /usr/lib/dalston/dalston-power-applet" - if pidof -x $PMS > /dev/null || - (test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon) || - PowerDevilRunning ; then + if pidof -x $PMS >/dev/null || + { [ "$XUSER" ] && + pidof dcopserver >/dev/null && + [ -x /usr/bin/dcop ] && + /usr/bin/dcop --user $XUSER kded kded loadedModules | + grep -q klaptopdaemon; } || + PowerDevilRunning; then return 0 else return 1 will run the tests in the same shell (no subshell forks). -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/bash Versions of packages acpi-support depends on: ii acpi-fakekey 0.137-5 tool to generate fake key events ii acpi-support-base 0.137-5 scripts for handling base ACPI eve ii acpid 1:2.0.6-1 Advanced Configuration and Power I ii lsb-base 3.2-23.1 Linux Standard Base 3.2 init scrip ii pm-utils 1.3.0-2 utilities and scripts for power ma ii x11-xserver-utils 7.5+2 X server utilities Versions of packages acpi-support recommends: ii dbus 1.2.24-3 simple interprocess messaging syst pn radeontool <none> (no description available) ii vbetool 1.1-2 run real-mode video BIOS code to a pn xscreensaver | gnome-screensa <none> (no description available) Versions of packages acpi-support suggests: ii rfkill 0.4-1 tool for enabling and disabling wi ii xinput 1.5.2-1 Runtime configuration and test of -- no debconf information Cheers, -- Cristian -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org