checked in (request 50409)
OBS-URL: https://build.opensuse.org/package/show/Base:System/sysvinit?expand=0&rev=77
This commit is contained in:
parent
662d7af7aa
commit
db0688fd73
@ -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;
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user