From 5796c05256f584e992fab6e78e18e589e7ad4d981a97931870c0c17073f6af87 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Mon, 21 Dec 2009 15:18:18 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/sysvinit?expand=0&rev=21 --- showconsole-1.10.dif | 64 +++++++++++++++++++++++++++++++++++++++++--- sysvinit.changes | 5 ++++ 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/showconsole-1.10.dif b/showconsole-1.10.dif index 9be8383..de6b792 100644 --- a/showconsole-1.10.dif +++ b/showconsole-1.10.dif @@ -1,4 +1,60 @@ ---- .dummy -+++ .dummy 2009-08-19 12:18:39.181901099 +0200 -@@ -0,0 +1 @@ -+this is a dummy, remove if real changes are required +--- blogd.c ++++ blogd.c 2009-12-21 15:55:09.295430094 +0100 +@@ -364,8 +364,8 @@ int main(int argc, char *argv[]) + fflush(stdout); + exit(0); + } +- pidfile(); +- prepareIO(reconnect, pgrp, 0, 1, fd2); ++ ++ prepareIO(reconnect, pidfile, pgrp, 0, 1, fd2); + while (!signaled) + safeIO(); + +--- libconsole.c ++++ libconsole.c 2009-12-21 16:02:20.007429734 +0100 +@@ -155,7 +155,7 @@ out: + /* + * Arg used: safe out + */ +-static void (*vc_reconnect)(int fd) = NULL; ++static void (*vc_reconnect)(int fd); + static inline void safeout (int fd, const char *ptr, size_t s) + { + int saveerr = errno; +@@ -739,11 +739,13 @@ static void *action(void *dummy) + * Prepare I/O + */ + static const char *fifo_name = _PATH_BLOG_FIFO; ++static void (*vr_access)(void); + static pid_t pgroup = -1; + +-void prepareIO(void (*rfunc)(int), const pid_t pgrp, const int in, const int out, const int second) ++void prepareIO(void (*rfunc)(int), void (*pfunc)(void), const pid_t pgrp, const int in, const int out, const int second) + { + vc_reconnect = rfunc; ++ vr_access = pfunc; + pgroup = pgrp; + fdread = in; + fdwrite = out; +@@ -871,6 +873,10 @@ void safeIO (void) + error("Can not open %s: %s\n", BOOT_LOGFILE, STRERR); + goto skip; + } ++ if (vr_access) { ++ (*vr_access)(); ++ vr_access = NULL; ++ } + if ((flog = fdopen (log, "a")) == NULL) + error("Can not open %s: %s\n", BOOT_LOGFILE, STRERR); + +--- libconsole.h ++++ libconsole.h 2009-12-21 15:54:41.299449887 +0100 +@@ -2,6 +2,6 @@ extern void pushd(const char * path); + extern void popd(void); + extern char * fetchtty(const pid_t pid, const pid_t ppid, unsigned int *mjmi); + extern char * secondtty(char * compare); +-extern void prepareIO(void (*rfunc)(int), const pid_t pgrp, const int in, const int out, const int second); ++extern void prepareIO(void (*rfunc)(int), void (*pfunc)(void), const pid_t pgrp, const int in, const int out, const int second); + extern void safeIO (void); + extern void closeIO(void); diff --git a/sysvinit.changes b/sysvinit.changes index e97a994..c032c0e 100644 --- a/sysvinit.changes +++ b/sysvinit.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 21 16:16:13 CET 2009 - werner@suse.de + +- Write pid file if /var is mounted rw (bnc#565620) + ------------------------------------------------------------------- Tue Dec 8 00:27:49 CET 2009 - jengelh@medozas.de