~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server/keymgmt.c: Replace ad-hoc `die' with an `ABORT'-level warning.
[tripe]
/
server
/
tripe.c
diff --git
a/server/tripe.c
b/server/tripe.c
index
6046059
..
93d40b9
100644
(file)
--- a/
server/tripe.c
+++ b/
server/tripe.c
@@
-292,10
+292,7
@@
int main(int argc, char *argv[])
rand_noisesrc(RAND_GLOBAL, &noise_source);
rand_seed(RAND_GLOBAL, MAXHASHSZ);
signal(SIGPIPE, SIG_IGN);
rand_noisesrc(RAND_GLOBAL, &noise_source);
rand_seed(RAND_GLOBAL, MAXHASHSZ);
signal(SIGPIPE, SIG_IGN);
- for (i = 0; tunnels[i]; i++)
- tunnels[i]->init();
- p_init();
- p_bind(ailist); freeaddrinfo(ailist);
+
if (!(f & f_daemon)) {
af = AF_WARN;
#ifndef NTRACE
if (!(f & f_daemon)) {
af = AF_WARN;
#ifndef NTRACE
@@
-307,6
+304,11
@@
int main(int argc, char *argv[])
a_switcherr();
}
a_switcherr();
}
+ p_init();
+ for (i = 0; tunnels[i]; i++)
+ tunnels[i]->init();
+ p_bind(ailist); freeaddrinfo(ailist);
+
for (i = 0; tunnels[i]; i++) {
if (tunnels[i]->flags&TUNF_PRIVOPEN) {
ps_split(f & f_daemon);
for (i = 0; tunnels[i]; i++) {
if (tunnels[i]->flags&TUNF_PRIVOPEN) {
ps_split(f & f_daemon);
@@
-321,8
+323,10
@@
int main(int argc, char *argv[])
km_init(kr_priv, kr_pub, tag_priv);
kx_init();
if (f & f_daemon) {
km_init(kr_priv, kr_pub, tag_priv);
kx_init();
if (f & f_daemon) {
- if (daemonize())
- die(EXIT_FAILURE, "couldn't become a daemon: %s", strerror(errno));
+ if (daemonize()) {
+ a_warn("SERVER", "daemon-error", "?ERRNO", A_END);
+ exit(EXIT_FAILURE);
+ }
a_daemon();
a_switcherr();
}
a_daemon();
a_switcherr();
}