From cfba3c92aaa3721cacb4792575fc9a4ba1c2c708 Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Fri, 25 Jan 2013 00:01:45 +0400 Subject: session: read final interface statistics on termination --- accel-pppd/ppp/ppp.c | 4 ++-- accel-pppd/session.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/accel-pppd/ppp/ppp.c b/accel-pppd/ppp/ppp.c index fee9334d..57aa7405 100644 --- a/accel-pppd/ppp/ppp.c +++ b/accel-pppd/ppp/ppp.c @@ -186,7 +186,7 @@ static void destablish_ppp(struct ppp_t *ppp) { struct pppunit_cache *uc; - triton_event_fire(EV_SES_PRE_FINISHED, ppp); + triton_event_fire(EV_SES_PRE_FINISHED, &ppp->ses); triton_md_unregister_handler(&ppp->chan_hnd); triton_md_unregister_handler(&ppp->unit_hnd); @@ -434,7 +434,7 @@ void __export ppp_layer_finished(struct ppp_t *ppp, struct ppp_layer_data_t *d) destablish_ppp(ppp); } -void __export ppp_terminate(struct ap_session *ses, int hard) +void ppp_terminate(struct ap_session *ses, int hard) { struct ppp_t *ppp = container_of(ses, typeof(*ppp), ses); struct layer_node_t *n; diff --git a/accel-pppd/session.c b/accel-pppd/session.c index 51264f88..666544d1 100644 --- a/accel-pppd/session.c +++ b/accel-pppd/session.c @@ -206,6 +206,7 @@ void __export ap_session_terminate(struct ap_session *ses, int cause, int hard) log_ppp_debug("terminate\n"); ap_session_ifdown(ses); + ap_session_read_stats(ses, NULL); triton_event_fire(EV_SES_FINISHING, ses); -- cgit v1.2.3