All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [Fancontrol] better support for init script error
@ 2010-05-01 15:29 PyroPeter
  2010-05-01 16:42 ` Jean Delvare
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: PyroPeter @ 2010-05-01 15:29 UTC (permalink / raw)
  To: lm-sensors

Some months ago, the /etc/fancontrol syntax changed, and fancontrol 
exited right after startup, but the init script stated success.

Currently there is no reliable way for a init script to check if 
fancontrol started up properly.

As fancontrol is a deamon preventing hardware damage, reliability should 
be of first priority.

I would suggest adding a argument to fancontrol that makes it start up, 
check config syntax and write permissions, and than fork to the 
background, or return a positive exit code.


I wrote a kind of proof of concept that simply uses the existing 
bash-script and "forks" by reexecuting itself in the background:

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

diff -ru lm_sensors-3.1.2-1/usr/sbin/fancontrol 
lm_sensors-3.1.2-1_pyropeter/usr/sbin/fancontrol
--- lm_sensors-3.1.2-1/usr/sbin/fancontrol    2010-02-03 
03:45:15.000000000 +0100
+++ lm_sensors-3.1.2-1_pyropeter/usr/sbin/fancontrol    2010-03-07 
01:37:09.000000000 +0100
@@ -5,7 +5,9 @@
  #
  # Version 0.70
  #
-# Usage: fancontrol [CONFIGFILE]
+# Usage: fancontrol [-D] [CONFIGFILE]
+#
+# (-D causes fancontrol to 'fork' to the background after some tests)
  #
  # Dependencies:
  #   bash, egrep, sed, cut, sleep, readlink, lm_sensors :)
@@ -43,6 +45,12 @@
  #DEBUG=1
  MAX%5

+DAEMON=0
+if [ "$1" = "-D" ]; then
+    DAEMON=1
+    shift
+fi
+
  declare -i pwmval

  function LoadConfig {
@@ -303,7 +311,6 @@
      echo "File $PIDFILE exists, is fancontrol already running?"
      exit 1
  fi
-echo $$ > "$PIDFILE"

  # $1 = pwm file name
  function pwmdisable()
@@ -475,6 +482,14 @@
      let fcvcount=$fcvcount+1
  done

+if [ "$DAEMON" -gt 0 ]; then
+    echo "Forking..."
+    $0 $* &> /dev/null &
+    exit 0
+fi
+
+echo $$ > "$PIDFILE"
+
  echo 'Starting automatic fan control...'

  # main loop calling the main function at specified intervals

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

I am not subscribed to this mailing list, so you need to CC me.

-- 
irc: PyroPeter at freenode


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-05-01 18:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-01 15:29 [lm-sensors] [Fancontrol] better support for init script error PyroPeter
2010-05-01 16:42 ` Jean Delvare
2010-05-01 18:16 ` foo bar
2010-05-01 18:31 ` Jean Delvare

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.