Date: Sunday, May 13, 2012 @ 10:20:44 Author: thomas Revision: 158940
upgpkg: watchdog 5.12-1: upstream update Added: watchdog/trunk/watchdog-5.12-fix-oom-in-wd_keepalive.patch Modified: watchdog/trunk/PKGBUILD Deleted: watchdog/trunk/watchdog-5.9-use-oom_score_adj.patch ---------------------------------------------+ PKGBUILD | 12 +-- watchdog-5.12-fix-oom-in-wd_keepalive.patch | 11 +++ watchdog-5.9-use-oom_score_adj.patch | 91 -------------------------- 3 files changed, 17 insertions(+), 97 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-05-13 13:55:33 UTC (rev 158939) +++ PKGBUILD 2012-05-13 14:20:44 UTC (rev 158940) @@ -2,8 +2,8 @@ # Maintainer: Thomas Bächler <[email protected]> pkgname=watchdog -pkgver=5.9 -pkgrel=2 +pkgver=5.12 +pkgrel=1 pkgdesc="Watchdog daemon" arch=(i686 x86_64) url="http://sourceforge.net/projects/watchdog" @@ -15,16 +15,16 @@ source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz watchdog.sh watchdog.cf - watchdog-5.9-use-oom_score_adj.patch) -md5sums=('d7cae3c9829f5d9a680764f314234867' + watchdog-5.12-fix-oom-in-wd_keepalive.patch) +md5sums=('cea28bea70e54f3625062bc808aef9af' '854451f554718b55186599faaa8d85f6' '01c1e2e13f515131180b4ebe9b8b7cc3' - '9a1ab454e42a7f2969ef6bf2da8a4543') + 'c90c2686975b5254f82b3de683f1f442') build() { cd "${srcdir}"/${pkgname}-${pkgver} - patch -p1 -i "${srcdir}"/watchdog-5.9-use-oom_score_adj.patch + patch -p1 -i "${srcdir}"/watchdog-5.12-fix-oom-in-wd_keepalive.patch ./configure \ --prefix=/usr \ --mandir=/usr/share/man \ Added: watchdog-5.12-fix-oom-in-wd_keepalive.patch =================================================================== --- watchdog-5.12-fix-oom-in-wd_keepalive.patch (rev 0) +++ watchdog-5.12-fix-oom-in-wd_keepalive.patch 2012-05-13 14:20:44 UTC (rev 158940) @@ -0,0 +1,11 @@ +diff -Nur watchdog-5.12.orig/src/wd_keepalive.c watchdog-5.12/src/wd_keepalive.c +--- watchdog-5.12.orig/src/wd_keepalive.c 2012-04-05 12:16:33.000000000 +0200 ++++ watchdog-5.12/src/wd_keepalive.c 2012-05-13 16:15:36.786543263 +0200 +@@ -26,6 +26,7 @@ + #include <sys/mman.h> + #include <sys/ioctl.h> + #include <sys/wait.h> ++#include <linux/oom.h> + #include <linux/watchdog.h> + #include <libgen.h> + #include <string.h> Deleted: watchdog-5.9-use-oom_score_adj.patch =================================================================== --- watchdog-5.9-use-oom_score_adj.patch 2012-05-13 13:55:33 UTC (rev 158939) +++ watchdog-5.9-use-oom_score_adj.patch 2012-05-13 14:20:44 UTC (rev 158940) @@ -1,91 +0,0 @@ -diff -ur watchdog-5.9.orig/src/watchdog.c watchdog-5.9/src/watchdog.c ---- watchdog-5.9.orig/src/watchdog.c 2010-06-16 15:45:51.000000000 +0200 -+++ watchdog-5.9/src/watchdog.c 2011-10-23 15:51:58.631689778 +0200 -@@ -636,7 +636,7 @@ - - /* allocate some memory to store a filename, this is needed later on even - * if the system runs out of memory */ -- filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1)); -+ filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1)); - if (!filename_buf) { - error(progname); - exit(1); -@@ -886,11 +886,19 @@ - #endif - - /* tell oom killer to not kill this process */ -- sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ sprintf(filename_buf, "/proc/%d/oom_score_adj", pid); - fp = fopen(filename_buf, "w"); - if (fp != NULL) { -- fprintf(fp, "-17\n"); -- (void) fclose(fp); -+ fprintf(fp, "-1000\n"); -+ (void) fclose(fp); -+ } -+ else { -+ sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ fp = fopen(filename_buf, "w"); -+ if (fp != NULL) { -+ fprintf(fp, "-17\n"); -+ (void) fclose(fp); -+ } - } - - /* main loop: update after <tint> seconds */ -diff -ur watchdog-5.9.orig/src/wd_keepalive.c watchdog-5.9/src/wd_keepalive.c ---- watchdog-5.9.orig/src/wd_keepalive.c 2010-06-16 15:45:49.000000000 +0200 -+++ watchdog-5.9/src/wd_keepalive.c 2011-10-23 15:50:43.061563281 +0200 -@@ -212,7 +212,7 @@ - FILE *fp; - char *configfile = CONFIG_FILENAME; - char *filename_buf; -- pid_t child_pid; -+ pid_t pid, child_pid; - int count = 0; - int c; - /* allow all options watchdog understands too */ -@@ -284,7 +284,7 @@ - - /* allocate some memory to store a filename, this is needed later on even - * if the system runs out of memory */ -- filename_buf = (char*)malloc(strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1); -+ filename_buf = (char*)malloc(strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1); - if (!filename_buf) { - error(progname); - exit(1); -@@ -363,9 +363,10 @@ - #endif - - /* tuck my process id away */ -+ pid = getpid(); - fp = fopen(KA_PIDFILE, "w"); - if ( fp != NULL ) { -- fprintf(fp, "%d\n", getpid()); -+ fprintf(fp, "%d\n", pid); - (void) fclose(fp); - } - -@@ -403,12 +404,20 @@ - #endif - - /* tell oom killer to not kill this process */ -- sprintf(filename_buf, "/proc/%d/oom_adj", getpid()); -+ sprintf(filename_buf, "/proc/%d/oom_score_adj", pid); - fp = fopen(filename_buf, "w"); - if (fp != NULL) { -- fprintf(fp, "-17\n"); -+ fprintf(fp, "-1000\n"); - (void) fclose(fp); - } -+ else { -+ sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ fp = fopen(filename_buf, "w"); -+ if (fp != NULL) { -+ fprintf(fp, "-17\n"); -+ (void) fclose(fp); -+ } -+ } - - /* main loop: update after <tint> seconds */ - while ( _running ) {
