diff options
author | Kozlov Dmitry <xeb@mail.ru> | 2013-01-25 00:01:45 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2013-01-25 00:01:45 +0400 |
commit | cfba3c92aaa3721cacb4792575fc9a4ba1c2c708 (patch) | |
tree | befd804751e819c092979ef41bb27b14be605bd7 | |
parent | 5be67a04fe1a4185732bf8dd143873b1c1553df3 (diff) | |
download | accel-ppp-xebd-cfba3c92aaa3721cacb4792575fc9a4ba1c2c708.tar.gz accel-ppp-xebd-cfba3c92aaa3721cacb4792575fc9a4ba1c2c708.zip |
session: read final interface statistics on termination
-rw-r--r-- | accel-pppd/ppp/ppp.c | 4 | ||||
-rw-r--r-- | 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 fee9334..57aa740 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 51264f8..666544d 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); |