checked in (request 50409)

OBS-URL: https://build.opensuse.org/package/show/Base:System/sysvinit?expand=0&rev=77
This commit is contained in:
OBS User autobuild 2010-10-13 22:45:58 +00:00 committed by Git OBS Bridge
parent 662d7af7aa
commit db0688fd73
3 changed files with 12 additions and 99 deletions

View File

@ -56,54 +56,3 @@
close(c->fd); close(c->fd);
c->fd = -1; c->fd = -1;
} }
--- libblogger.c
+++ libblogger.c 2010-10-12 16:12:20.743926028 +0000
@@ -54,7 +54,7 @@ static int bootlog_init(const int lvl __
if (!S_ISFIFO(st.st_mode))
goto out;
- if ((fdfifo = open(fifo_name, O_WRONLY|O_NONBLOCK)) < 0)
+ if ((fdfifo = open(fifo_name, O_WRONLY|O_NONBLOCK|O_NOCTTY|O_CLOEXEC)) < 0)
goto out;
ret = 0;
--- libconsole.c
+++ libconsole.c 2010-10-12 16:20:05.187926537 +0000
@@ -770,7 +770,7 @@ void prepareIO(void (*rfunc)(int), void
(void)mkfifo(fifo_name, 0600);
errno = 0;
if (!stat(fifo_name, &st) && S_ISFIFO(st.st_mode)) {
- if ((fdfifo = open(fifo_name, O_RDWR|O_NOCTTY)) < 0)
+ if ((fdfifo = open(fifo_name, O_RDONLY|O_NOCTTY|O_CLOEXEC)) < 0)
warn("can not open named fifo %s: %s\n", fifo_name, strerror(errno));
}
}
@@ -788,7 +788,7 @@ static void more_input (struct timeval *
FD_ZERO (&watch);
FD_SET (fdread, &watch);
- if (fdfifo > 0) {
+ if (fdfifo >= 0) {
FD_SET (fdfifo, &watch);
wfds = (fdread > fdfifo ? fdread : fdfifo) + 1;
} else
@@ -836,7 +836,7 @@ static void more_input (struct timeval *
}
}
- if (fdfifo > 0 && FD_ISSET(fdfifo, &watch)) {
+ if (fdfifo >= 0 && FD_ISSET(fdfifo, &watch)) {
const ssize_t cnt = safein(fdfifo, (char*)trans, sizeof(trans), noerr);
if (cnt > 0) {
@@ -1003,6 +1003,10 @@ void closeIO(void)
(void)fclose(flog);
flog = NULL;
xout:
+ if (fdfifo >= 0) {
+ close(fdfifo);
+ fdfifo = -1;
+ }
for (c = cons; c; c = c->next) {
if (c->fd < 0)
continue;

View File

@ -1,15 +1,5 @@
--- makeboot.c
+++ makeboot.c 2010-10-12 16:42:53.996426160 +0000
@@ -407,6 +407,7 @@ void check_run_files(const char *action,
*/
#ifndef USE_BLOGD
# define bootlog(arg...)
+# define closeblog()
#endif
/*
--- proc.c --- proc.c
+++ proc.c 2010-09-30 12:19:16.000000000 +0000 +++ proc.c 2010-09-30 14:19:15.595926333 +0200
@@ -94,3 +94,74 @@ int read_proc(unsigned long int * const @@ -94,3 +94,74 @@ int read_proc(unsigned long int * const
return 0; return 0;
} }
@ -86,7 +76,7 @@
+ } + }
+} +}
--- proc.h --- proc.h
+++ proc.h 2010-09-30 12:41:35.000000000 +0000 +++ proc.h 2010-09-30 14:41:35.271926120 +0200
@@ -19,5 +19,3 @@ @@ -19,5 +19,3 @@
extern int read_proc(unsigned long int *prcs_run, unsigned long int *prcs_blked); extern int read_proc(unsigned long int *prcs_run, unsigned long int *prcs_blked);
@ -94,29 +84,8 @@
-extern void unraw_consoles(void); -extern void unraw_consoles(void);
-extern void raw_consoles(void); -extern void raw_consoles(void);
--- startpar.c --- startpar.c
+++ startpar.c 2010-10-12 16:45:32.040429641 +0000 +++ startpar.c 2010-09-30 15:01:50.787926081 +0200
@@ -52,6 +52,12 @@ @@ -241,14 +241,7 @@ void callsplash(int n, const char *path,
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
+#ifdef USE_BLOGD
+# include <libblogger.h>
+#else
+# define bootlog(arg...)
+# define closeblog()
+#endif
#include "makeboot.h"
#include "proc.h"
@@ -197,6 +203,7 @@ void closeall(void)
for (s = 0; s < par; s++)
if (prgs[s].fd)
close(prgs[s].fd);
+ closeblog();
}
void callsplash(int n, const char *path, char *action)
@@ -241,14 +248,7 @@ void callsplash(int n, const char *path,
return; return;
} }
@ -132,7 +101,7 @@
sigprocmask(SIG_UNBLOCK, &nmask, NULL); sigprocmask(SIG_UNBLOCK, &nmask, NULL);
(void)signal(SIGINT, SIG_DFL); (void)signal(SIGINT, SIG_DFL);
@@ -258,6 +258,7 @@ void callsplash(int n, const char *path, @@ -258,6 +251,7 @@ void callsplash(int n, const char *path,
(void)signal(SIGTERM, SIG_DFL); (void)signal(SIGTERM, SIG_DFL);
(void)signal(SIGCHLD, SIG_DFL); (void)signal(SIGCHLD, SIG_DFL);
(void)signal(SIGTTIN, SIG_DFL); (void)signal(SIGTTIN, SIG_DFL);
@ -140,7 +109,7 @@
TEMP_FAILURE_RETRY(dup2(2, 1)); TEMP_FAILURE_RETRY(dup2(2, 1));
closeall(); closeall();
@@ -456,14 +457,7 @@ void run(struct prg *p) @@ -456,14 +450,7 @@ void run(struct prg *p)
return; return;
} }
@ -156,7 +125,7 @@
sigprocmask(SIG_UNBLOCK, &nmask, NULL); sigprocmask(SIG_UNBLOCK, &nmask, NULL);
(void)signal(SIGINT, SIG_DFL); (void)signal(SIGINT, SIG_DFL);
@@ -473,6 +467,7 @@ void run(struct prg *p) @@ -473,6 +460,7 @@ void run(struct prg *p)
(void)signal(SIGTERM, SIG_DFL); (void)signal(SIGTERM, SIG_DFL);
(void)signal(SIGCHLD, SIG_DFL); (void)signal(SIGCHLD, SIG_DFL);
(void)signal(SIGTTIN, SIG_DFL); (void)signal(SIGTTIN, SIG_DFL);
@ -164,7 +133,7 @@
if (setpgid(0, 0)) if (setpgid(0, 0))
perror("setpgid"); perror("setpgid");
@@ -582,14 +577,7 @@ int run_single(const char *prg, const ch @@ -582,14 +570,7 @@ int run_single(const char *prg, const ch
{ {
sigset_t nmask; sigset_t nmask;
@ -180,7 +149,7 @@
sigprocmask(SIG_UNBLOCK, &nmask, NULL); sigprocmask(SIG_UNBLOCK, &nmask, NULL);
(void)signal(SIGINT, SIG_DFL); (void)signal(SIGINT, SIG_DFL);
@@ -599,6 +587,7 @@ int run_single(const char *prg, const ch @@ -599,6 +580,7 @@ int run_single(const char *prg, const ch
(void)signal(SIGTERM, SIG_DFL); (void)signal(SIGTERM, SIG_DFL);
(void)signal(SIGCHLD, SIG_DFL); (void)signal(SIGCHLD, SIG_DFL);
(void)signal(SIGTTIN, SIG_DFL); (void)signal(SIGTTIN, SIG_DFL);
@ -188,7 +157,7 @@
TEMP_FAILURE_RETRY(dup2(2, 1)); TEMP_FAILURE_RETRY(dup2(2, 1));
closeall(); closeall();
@@ -632,19 +621,20 @@ void do_forward(void) @@ -632,19 +614,20 @@ void do_forward(void)
{ {
if (errno == EINTR) if (errno == EINTR)
continue; continue;
@ -211,7 +180,7 @@
rr = r; rr = r;
} }
r -= rr; r -= rr;
@@ -730,9 +720,23 @@ void detach(struct prg *p, const int sto @@ -730,9 +713,23 @@ void detach(struct prg *p, const int sto
{ {
if ((pid = fork()) == 0) if ((pid = fork()) == 0)
{ {
@ -235,7 +204,7 @@
execlp(myname, myname, "-f", "--", p->name, NULL); execlp(myname, myname, "-f", "--", p->name, NULL);
do_forward(); do_forward();
} }
@@ -833,6 +837,8 @@ int main(int argc, char **argv) @@ -833,6 +830,8 @@ int main(int argc, char **argv)
char *splashopt = 0; char *splashopt = 0;
sigset_t nmask, omask, smask; sigset_t nmask, omask, smask;

View File

@ -1,8 +1,3 @@
-------------------------------------------------------------------
Tue Oct 12 18:21:44 CEST 2010 - werner@suse.de
- libblogger: set O_CLOEXEC for named FIFO /dev/blog (bnc#645793)
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Oct 4 16:46:53 CEST 2010 - werner@suse.de Mon Oct 4 16:46:53 CEST 2010 - werner@suse.de