chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c2cf401
)
[PATCH] udevd: it's obviously not the brightest idea to exit a device node manager...
author
kay.sievers@vrfy.org
<kay.sievers@vrfy.org>
Sun, 16 Jan 2005 03:39:02 +0000
(
04:39
+0100)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 06:21:58 +0000
(23:21 -0700)
udevd.c
patch
|
blob
|
history
diff --git
a/udevd.c
b/udevd.c
index 7ae7a5b232c7bd1264baa35e5ab091e6d927ac0b..64abbe59a37254003231bbd649d5cb0d0ca9c3bd 100644
(file)
--- a/
udevd.c
+++ b/
udevd.c
@@
-450,6
+450,7
@@
static void reap_sigchilds(void)
static void user_sighandler(void)
{
int sig;
static void user_sighandler(void)
{
int sig;
+
while(1) {
int rc = read(pipefds[0], &sig, sizeof(sig));
if (rc < 0)
while(1) {
int rc = read(pipefds[0], &sig, sizeof(sig));
if (rc < 0)
@@
-533,15
+534,14
@@
int main(int argc, char *argv[], char *envp[])
/* Set fds to dev/null */
fd = open( "/dev/null", O_RDWR );
/* Set fds to dev/null */
fd = open( "/dev/null", O_RDWR );
- if ( fd < 0 ) {
+ if (fd >= 0) {
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+ if (fd > 2)
+ close(fd);
+ } else
dbg("error opening /dev/null %s", strerror(errno));
dbg("error opening /dev/null %s", strerror(errno));
- goto exit;
- }
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
- if (fd > 2)
- close(fd);
/* become session leader */
setsid();
/* become session leader */
setsid();
@@
-559,10
+559,8
@@
int main(int argc, char *argv[], char *envp[])
goto exit;
}
retval = fcntl(pipefds[0], F_SETFD, FD_CLOEXEC);
goto exit;
}
retval = fcntl(pipefds[0], F_SETFD, FD_CLOEXEC);
- if (retval < 0)
{
+ if (retval < 0)
dbg("error fcntl on read pipe: %s", strerror(errno));
dbg("error fcntl on read pipe: %s", strerror(errno));
- goto exit;
- }
retval = fcntl(pipefds[1], F_SETFL, O_NONBLOCK);
if (retval < 0) {
retval = fcntl(pipefds[1], F_SETFL, O_NONBLOCK);
if (retval < 0) {
@@
-570,10
+568,8
@@
int main(int argc, char *argv[], char *envp[])
goto exit;
}
retval = fcntl(pipefds[1], F_SETFD, FD_CLOEXEC);
goto exit;
}
retval = fcntl(pipefds[1], F_SETFD, FD_CLOEXEC);
- if (retval < 0)
{
+ if (retval < 0)
dbg("error fcntl on write pipe: %s", strerror(errno));
dbg("error fcntl on write pipe: %s", strerror(errno));
- goto exit;
- }
/* set signal handlers */
act.sa_handler = (void (*) (int))sig_handler;
/* set signal handlers */
act.sa_handler = (void (*) (int))sig_handler;
@@
-586,7
+582,7
@@
int main(int argc, char *argv[], char *envp[])
if (init_udevsend_socket() < 0) {
if (errno == EADDRINUSE)
if (init_udevsend_socket() < 0) {
if (errno == EADDRINUSE)
- dbg("another udevd
is
running, exit");
+ dbg("another udevd running, exit");
else
dbg("error initialising udevsend socket: %s", strerror(errno));
else
dbg("error initialising udevsend socket: %s", strerror(errno));