diff --git a/killproc-2.16.dif b/killproc-2.16.dif index d5be3ad..b58b0b1 100644 --- a/killproc-2.16.dif +++ b/killproc-2.16.dif @@ -12,7 +12,7 @@ - continue; - if (bytes < 0) + if (bytes < 0) { -+ if (errno == EINTR || errno == EAGAIN)) ++ if (errno == EINTR || errno == EAGAIN) + continue; + if (errno == ESRCH) + goto out; diff --git a/sysvinit-2.86-mdmon-no-kill.patch b/sysvinit-2.86-mdmon-no-kill.patch new file mode 100644 index 0000000..4786e04 --- /dev/null +++ b/sysvinit-2.86-mdmon-no-kill.patch @@ -0,0 +1,40 @@ +--- + src/killall5.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/killall5.c.orig ++++ src/killall5.c +@@ -62,6 +62,7 @@ typedef struct proc { + char isfuse; /* Provides FUSE filesystems */ + char isudev; /* Is the uevent handler */ + char nfs; /* Binary is loacted on NFS part. */ ++ char ismdmon; /* Is an instance of /sbin/mdmon. */ + struct proc *next; /* Pointer to next struct. */ + } PROC; + +@@ -482,6 +483,9 @@ int readproc() + /* Check for uevent handler */ + p->isudev = (strncmp(buf, "/sbin/udevd", 11) == 0); + ++ /* Check for mdmon */ ++ p->ismdmon = (strcmp(buf, "/sbin/mdmon") == 0); ++ + /* Check for provider of FUSE filesystems */ + p->isfuse = is_fuse(d->d_name); + +@@ -819,11 +823,13 @@ int main(int argc, char **argv) + exit(1); + } + +- /* Now kill all processes except init (pid 1), our session, and FUSE filesystems. */ ++ /* Now kill all processes except init (pid 1), our session, ++ * FUSE filesystems and /sbin/mdmon */ + sid = (int)getsid(0); + pid = (int)getpid(); + for (p = plist; p; p = p->next) { +- if (p->pid == 1 || p->pid == pid || p->sid == sid || p->kernel || p->isfuse) { ++ if (p->pid == 1 || p->pid == pid || p->sid == sid || p->kernel ++ || p->isfuse || p->ismdmon) { + kill(p->pid, SIGCONT); + continue; + } diff --git a/sysvinit.changes b/sysvinit.changes index fb220f0..68bc58d 100644 --- a/sysvinit.changes +++ b/sysvinit.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Nov 2 17:10:48 CET 2009 - mmarek@suse.cz + +- fixed killproc-2.16.dif. + +------------------------------------------------------------------- +Thu Oct 29 22:39:27 CET 2009 - mmarek@suse.cz + +- killall5: do not kill /sbin/mdmon (fate#306823). + ------------------------------------------------------------------- Wed Oct 28 10:47:42 CET 2009 - werner@suse.de diff --git a/sysvinit.spec b/sysvinit.spec index f87cf5f..868d046 100644 --- a/sysvinit.spec +++ b/sysvinit.spec @@ -63,6 +63,7 @@ Patch16: sysvinit-2.86-full-time.patch Patch17: sysvinit-2.86-hddown.patch Patch18: sysvinit-2.86-selinux.patch Patch19: sysvinit-2.86-fuse-no-kill.patch +Patch20: sysvinit-2.86-mdmon-no-kill.patch %description System V style init programs by Miquel van Smoorenburg that control the @@ -98,6 +99,7 @@ Authors: %patch -P 17 -b .hddown %patch -P 18 -b .selinux %patch -P 19 -b .fuse +%patch -P 20 -b .mdmon %patch pushd ../powerd-%{PDVER} %patch -P 2