diff options
Diffstat (limited to 'accel-pppd')
-rw-r--r-- | accel-pppd/extra/pppd_compat.c | 2 | ||||
-rw-r--r-- | accel-pppd/include/events.h | 1 | ||||
-rw-r--r-- | accel-pppd/ppp/ppp.c | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/accel-pppd/extra/pppd_compat.c b/accel-pppd/extra/pppd_compat.c index d4eb10be..d89a6a6a 100644 --- a/accel-pppd/extra/pppd_compat.c +++ b/accel-pppd/extra/pppd_compat.c @@ -538,7 +538,7 @@ static void init(void) triton_event_register_handler(EV_PPP_PRE_UP, (triton_event_func)ev_ppp_pre_up); triton_event_register_handler(EV_PPP_STARTED, (triton_event_func)ev_ppp_started); triton_event_register_handler(EV_PPP_FINISHING, (triton_event_func)ev_ppp_finishing); - triton_event_register_handler(EV_PPP_FINISHED, (triton_event_func)ev_ppp_finished); + triton_event_register_handler(EV_PPP_PRE_FINISHED, (triton_event_func)ev_ppp_finished); #ifdef RADIUS if (triton_module_loaded("radius")) { triton_event_register_handler(EV_RADIUS_ACCESS_ACCEPT, (triton_event_func)ev_radius_access_accept); diff --git a/accel-pppd/include/events.h b/accel-pppd/include/events.h index 4e48fe15..5d6fea7e 100644 --- a/accel-pppd/include/events.h +++ b/accel-pppd/include/events.h @@ -16,6 +16,7 @@ #define EV_PPP_ACCT_START 10 #define EV_CONFIG_RELOAD 11 #define EV_PPP_AUTH_FAILED 12 +#define EV_PPP_PRE_FINISHED 13 #define EV_IP_CHANGED 100 #define EV_SHAPER 101 #define EV_MPPE_KEYS 102 diff --git a/accel-pppd/ppp/ppp.c b/accel-pppd/ppp/ppp.c index 3ab71662..4f3beb9e 100644 --- a/accel-pppd/ppp/ppp.c +++ b/accel-pppd/ppp/ppp.c @@ -202,6 +202,8 @@ exit_close_chan: static void destablish_ppp(struct ppp_t *ppp) { + triton_event_fire(EV_PPP_PRE_FINISHED, ppp); + pthread_rwlock_wrlock(&ppp_lock); list_del(&ppp->entry); pthread_rwlock_unlock(&ppp_lock); |