diff options
author | Guillaume Nault <g.nault@alphalink.fr> | 2013-01-24 16:14:26 +0100 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2013-01-25 00:05:10 +0400 |
commit | 03b5f8b86e84170a04196ed15a8da56dcef6e4c0 (patch) | |
tree | 11aa63d8f463497629a737702fc4c95cce5e50e1 /accel-pppd/ctrl | |
parent | 459720a96d868e31b8ab859fdf488c1c208b2647 (diff) | |
download | accel-ppp-xebd-03b5f8b86e84170a04196ed15a8da56dcef6e4c0.tar.gz accel-ppp-xebd-03b5f8b86e84170a04196ed15a8da56dcef6e4c0.zip |
l2tp: Register sessions timers in sessions context
The sessions timeout timers were registered in the triton context of
their parent tunnel. This patch uses the session's context instead
because the timer's callback function, l2tp_session_timeout(), expects
to be called from a session context.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Diffstat (limited to 'accel-pppd/ctrl')
-rw-r--r-- | accel-pppd/ctrl/l2tp/l2tp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/accel-pppd/ctrl/l2tp/l2tp.c b/accel-pppd/ctrl/l2tp/l2tp.c index 4292aca..8dfbf65 100644 --- a/accel-pppd/ctrl/l2tp/l2tp.c +++ b/accel-pppd/ctrl/l2tp/l2tp.c @@ -257,10 +257,10 @@ static void __l2tp_session_free(void *data) log_ppp_info1("disconnected\n"); - triton_context_unregister(&sess->sctx); - if (sess->timeout_timer.tpd) triton_timer_del(&sess->timeout_timer); + triton_context_unregister(&sess->sctx); + if (sess->ppp.fd != -1) close(sess->ppp.fd); if (sess->ppp.ses.chan_name) @@ -982,8 +982,7 @@ static int l2tp_send_ICRP(struct l2tp_sess_t *sess) l2tp_send(sess->paren_conn, pack, 0); if (!sess->timeout_timer.tpd) - triton_timer_add(&sess->paren_conn->ctx, - &sess->timeout_timer, 0); + triton_timer_add(&sess->sctx, &sess->timeout_timer, 0); else triton_timer_mod(&sess->timeout_timer, 0); |