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 (from parent 1:
8825e9e
)
[PATCH] udevd exit path cleanup
author
kay.sievers@vrfy.org
<kay.sievers@vrfy.org>
Tue, 23 Nov 2004 02:28:41 +0000
(
03:28
+0100)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 05:30:28 +0000
(22:30 -0700)
udevd.c
patch
|
blob
|
history
diff --git
a/udevd.c
b/udevd.c
index dd505d03d95d2538111ad26cfc379b49560c01a3..3ad8c47f22887660e05d5e6ee30d2b63c58e4a40 100644
(file)
--- a/
udevd.c
+++ b/
udevd.c
@@
-419,7
+419,7
@@
int main(int argc, char *argv[], char *envp[])
if (getuid() != 0) {
dbg("need to be root, exit");
if (getuid() != 0) {
dbg("need to be root, exit");
-
_exit(1)
;
+
goto exit
;
}
/* make sure we don't lock any path */
}
/* make sure we don't lock any path */
@@
-430,7
+430,7
@@
int main(int argc, char *argv[], char *envp[])
fd = open( "/dev/null", O_RDWR );
if ( fd < 0 ) {
dbg("error opening /dev/null %s", strerror(errno));
fd = open( "/dev/null", O_RDWR );
if ( fd < 0 ) {
dbg("error opening /dev/null %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
dup2(fd, 0);
dup2(fd, 1);
}
dup2(fd, 0);
dup2(fd, 1);
@@
-445,29
+445,29
@@
int main(int argc, char *argv[], char *envp[])
retval = pipe(pipefds);
if (retval < 0) {
dbg("error getting pipes: %s", strerror(errno));
retval = pipe(pipefds);
if (retval < 0) {
dbg("error getting pipes: %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
retval = fcntl(pipefds[0], F_SETFL, O_NONBLOCK);
if (retval < 0) {
dbg("error fcntl on read pipe: %s", strerror(errno));
}
retval = fcntl(pipefds[0], F_SETFL, O_NONBLOCK);
if (retval < 0) {
dbg("error fcntl on read pipe: %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
retval = fcntl(pipefds[0], F_SETFD, FD_CLOEXEC);
if (retval < 0) {
dbg("error fcntl on read pipe: %s", strerror(errno));
}
retval = fcntl(pipefds[0], F_SETFD, FD_CLOEXEC);
if (retval < 0) {
dbg("error fcntl on read pipe: %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
retval = fcntl(pipefds[1], F_SETFL, O_NONBLOCK);
if (retval < 0) {
dbg("error fcntl on write pipe: %s", strerror(errno));
}
retval = fcntl(pipefds[1], F_SETFL, O_NONBLOCK);
if (retval < 0) {
dbg("error fcntl on write pipe: %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
retval = fcntl(pipefds[1], F_SETFD, FD_CLOEXEC);
if (retval < 0) {
dbg("error fcntl on write pipe: %s", strerror(errno));
}
retval = fcntl(pipefds[1], F_SETFD, FD_CLOEXEC);
if (retval < 0) {
dbg("error fcntl on write pipe: %s", strerror(errno));
-
exit(1)
;
+
goto exit
;
}
/* set signal handlers */
}
/* set signal handlers */
@@
-488,13
+488,14
@@
int main(int argc, char *argv[], char *envp[])
udevsendsock = socket(AF_LOCAL, SOCK_DGRAM, 0);
if (udevsendsock == -1) {
dbg("error getting socket, exit");
udevsendsock = socket(AF_LOCAL, SOCK_DGRAM, 0);
if (udevsendsock == -1) {
dbg("error getting socket, exit");
-
exit(1)
;
+
goto exit
;
}
/* the bind takes care of ensuring only one copy running */
retval = bind(udevsendsock, (struct sockaddr *) &saddr, addrlen);
if (retval < 0) {
dbg("bind failed, exit");
}
/* the bind takes care of ensuring only one copy running */
retval = bind(udevsendsock, (struct sockaddr *) &saddr, addrlen);
if (retval < 0) {
dbg("bind failed, exit");
+ close(udevsendsock);
goto exit;
}
goto exit;
}
@@
-549,8
+550,8
@@
int main(int argc, char *argv[], char *envp[])
exec_queue_manager();
}
}
exec_queue_manager();
}
}
+
exit:
exit:
- close(udevsendsock);
logging_close();
return 1;
}
logging_close();
return 1;
}