SOURCES: watchdog.init - don't allow to be killed by OOM

arekm arekm at pld-linux.org
Wed Jan 21 12:31:47 CET 2009


Author: arekm                        Date: Wed Jan 21 11:31:47 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- don't allow to be killed by OOM

---- Files affected:
SOURCES:
   watchdog.init (1.14 -> 1.15) 

---- Diffs:

================================================================
Index: SOURCES/watchdog.init
diff -u SOURCES/watchdog.init:1.14 SOURCES/watchdog.init:1.15
--- SOURCES/watchdog.init:1.14	Mon Jan 14 17:51:40 2008
+++ SOURCES/watchdog.init	Wed Jan 21 12:31:41 2009
@@ -18,11 +18,22 @@
 
 [ -x /usr/sbin/watchdog -a -e /etc/watchdog.conf ] || exit 0
 
+WATCHDOG_OOM_ADJUST="-17"
 VERBOSE="no"
 if [ -f /etc/sysconfig/watchdog ]; then
 	. /etc/sysconfig/watchdog
 fi
 
+adjust_oom() {
+	if [ -e /var/run/watchdog.pid ]; then
+		for pid in $(cat /var/run/watchdog.pid); do
+			if [ -w "/proc/$pid/oom_adj" ]; then
+				echo "$WATCHDOG_OOM_ADJUST" > "/proc/$pid/oom_adj" 2> /dev/null || :
+			fi
+		done
+	fi
+}
+
 start() {
   	if [ ! -f /var/lock/subsys/watchdog ]; then
 		msg_starting watchdog
@@ -42,6 +53,7 @@
 			daemon watchdog
 		fi
 		RETVAL=$?
+		adjust_oom
 		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/watchdog
 	else
 		msg_already_running watchdog
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/watchdog.init?r1=1.14&r2=1.15&f=u



More information about the pld-cvs-commit mailing list