diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2010-11-21 17:31:00 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2010-11-21 17:31:00 +0300 |
commit | a09fdabf7939819581c6b7797b180a18c4f477fa (patch) | |
tree | 4cfaa02377ff7a660c53099c300de0890dff5d3f /accel-pptpd/ctrl/pppoe | |
parent | ddad202eca1c0a1d95321bd396df0dda01620a2b (diff) | |
download | accel-ppp-a09fdabf7939819581c6b7797b180a18c4f477fa.tar.gz accel-ppp-a09fdabf7939819581c6b7797b180a18c4f477fa.zip |
bug fixes
Diffstat (limited to 'accel-pptpd/ctrl/pppoe')
-rw-r--r-- | accel-pptpd/ctrl/pppoe/pppoe.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/accel-pptpd/ctrl/pppoe/pppoe.c b/accel-pptpd/ctrl/pppoe/pppoe.c index eacecc9b..0ff166c3 100644 --- a/accel-pptpd/ctrl/pppoe/pppoe.c +++ b/accel-pptpd/ctrl/pppoe/pppoe.c @@ -80,7 +80,7 @@ void pppoe_server_free(struct pppoe_serv_t *serv); static void disconnect(struct pppoe_conn_t *conn) { if (conn->ppp_started) { - __sync_fetch_and_sub(&stat_active, 1); + stat_active--; conn->ppp_started = 0; ppp_terminate(&conn->ppp, TERM_USER_REQUEST, 1); } @@ -130,9 +130,9 @@ static void ppp_finished(struct ppp_t *ppp) log_ppp_debug("pppoe: ppp finished\n"); if (conn->ppp_started) { - __sync_fetch_and_sub(&stat_active, 1); + stat_active--; conn->ppp_started = 0; - disconnect(conn); + triton_context_call(&conn->ctx, (triton_event_func)disconnect, conn); } } @@ -534,7 +534,7 @@ static void free_delayed_pado(struct delayed_pado_t *pado) { triton_timer_del(&pado->timer); - __sync_fetch_and_sub(&stat_delayed_pado, 1); + stat_delayed_pado--; list_del(&pado->entry); if (pado->host_uniq) @@ -643,7 +643,7 @@ static void pppoe_recv_PADI(struct pppoe_serv_t *serv, uint8_t *pack, int size) triton_timer_add(&serv->ctx, &pado->timer, 0); list_add_tail(&pado->entry, &serv->pado_list); - __sync_fetch_and_add(&stat_delayed_pado, 1); + stat_delayed_pado++; } else pppoe_send_PADO(serv, ethhdr->h_source, host_uniq_tag, relay_sid_tag, service_name_tag); } @@ -744,7 +744,7 @@ static void pppoe_recv_PADR(struct pppoe_serv_t *serv, uint8_t *pack, int size) if (connect_channel(conn)) disconnect(conn); else { - __sync_fetch_and_add(&stat_active, 1); + stat_active++; conn->ppp_started = 1; } } |