chiark
/
gitweb
/
~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server/peer.c: Engage the interval timer only while there are peers.
[tripe]
/
server
/
peer.c
diff --git
a/server/peer.c
b/server/peer.c
index fb016169acfc70d4fae4215ca8fbe947613b8ee6..59a42cdefe457460fdd378ee3a15122771c1d259 100644
(file)
--- a/
server/peer.c
+++ b/
server/peer.c
@@
-992,6
+992,7
@@
peer *p_create(peerspec *spec)
T( trace(T_TUNNEL, "peer: attached interface %s to peer `%s'",
p->ifname, p_name(p)); )
p_setkatimer(p);
T( trace(T_TUNNEL, "peer: attached interface %s to peer `%s'",
p->ifname, p_name(p)); )
p_setkatimer(p);
+ iv_addreason();
if (kx_setup(&p->kx, p, &p->ks, p->spec.f & PSF_KXMASK))
goto tidy_4;
a_notify("ADD",
if (kx_setup(&p->kx, p, &p->ks, p->spec.f & PSF_KXMASK))
goto tidy_4;
a_notify("ADD",
@@
-1010,6
+1011,7
@@
tidy_4:
if (spec->t_ka) sel_rmtimer(&p->tka);
xfree(p->ifname);
p->t->ops->destroy(p->t);
if (spec->t_ka) sel_rmtimer(&p->tka);
xfree(p->ifname);
p->t->ops->destroy(p->t);
+ iv_rmreason();
tidy_3:
if (fd >= 0) close(fd);
tidy_2:
tidy_3:
if (fd >= 0) close(fd);
tidy_2:
@@
-1141,6
+1143,7
@@
void p_destroy(peer *p, int bye)
}
sym_remove(&byname, p->byname);
am_remove(&byaddr, p->byaddr);
}
sym_remove(&byname, p->byname);
am_remove(&byaddr, p->byaddr);
+ iv_rmreason();
DESTROY(p);
}
DESTROY(p);
}