projects
/
oweals
/
odhcp6c.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9e52c4d
)
Fixed race condition - ra_init may already result in SIGIO, and without signal handle...
author
Markus Stenberg
<markus.stenberg@iki.fi>
Tue, 26 Mar 2013 13:15:25 +0000
(15:15 +0200)
committer
Markus Stenberg
<markus.stenberg@iki.fi>
Tue, 26 Mar 2013 13:15:25 +0000
(15:15 +0200)
src/odhcp6c.c
patch
|
blob
|
history
diff --git
a/src/odhcp6c.c
b/src/odhcp6c.c
index 645131252a2f9f10c0e19aa136dac61bb6a62855..88f2ae5c7228c1b51e5781fdeb075c4ed4dc99a8 100644
(file)
--- a/
src/odhcp6c.c
+++ b/
src/odhcp6c.c
@@
-139,13
+139,6
@@
int main(_unused int argc, char* const argv[])
if (help || !ifname)
return usage();
if (help || !ifname)
return usage();
- if ((urandom_fd = open("/dev/urandom", O_CLOEXEC | O_RDONLY)) < 0 ||
- init_dhcpv6(ifname, request_pd) || ra_init(ifname) ||
- script_init(script, ifname)) {
- syslog(LOG_ERR, "failed to initialize: %s", strerror(errno));
- return 3;
- }
-
signal(SIGIO, sighandler);
signal(SIGHUP, sighandler);
signal(SIGINT, sighandler);
signal(SIGIO, sighandler);
signal(SIGHUP, sighandler);
signal(SIGINT, sighandler);
@@
-154,6
+147,13
@@
int main(_unused int argc, char* const argv[])
signal(SIGUSR1, sighandler);
signal(SIGUSR2, sighandler);
signal(SIGUSR1, sighandler);
signal(SIGUSR2, sighandler);
+ if ((urandom_fd = open("/dev/urandom", O_CLOEXEC | O_RDONLY)) < 0 ||
+ init_dhcpv6(ifname, request_pd) || ra_init(ifname) ||
+ script_init(script, ifname)) {
+ syslog(LOG_ERR, "failed to initialize: %s", strerror(errno));
+ return 3;
+ }
+
if (daemonize) {
openlog("odhcp6c", LOG_PID, LOG_DAEMON); // Disable LOG_PERROR
if (daemon(0, 0)) {
if (daemonize) {
openlog("odhcp6c", LOG_PID, LOG_DAEMON); // Disable LOG_PERROR
if (daemon(0, 0)) {