Dr. Werner Fink 2009-12-21 15:18:18 +00:00 committed by Git OBS Bridge
parent dc3a01cfcc
commit 5796c05256
2 changed files with 65 additions and 4 deletions

View File

@ -1,4 +1,60 @@
--- .dummy --- blogd.c
+++ .dummy 2009-08-19 12:18:39.181901099 +0200 +++ blogd.c 2009-12-21 15:55:09.295430094 +0100
@@ -0,0 +1 @@ @@ -364,8 +364,8 @@ int main(int argc, char *argv[])
+this is a dummy, remove if real changes are required 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);

View File

@ -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 Tue Dec 8 00:27:49 CET 2009 - jengelh@medozas.de