summaryrefslogtreecommitdiff
path: root/accel-pptpd/ctrl/pppoe/pppoe.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2010-11-21 17:31:00 +0300
committerDmitry Kozlov <xeb@mail.ru>2010-11-21 17:31:00 +0300
commita09fdabf7939819581c6b7797b180a18c4f477fa (patch)
tree4cfaa02377ff7a660c53099c300de0890dff5d3f /accel-pptpd/ctrl/pppoe/pppoe.c
parentddad202eca1c0a1d95321bd396df0dda01620a2b (diff)
downloadaccel-ppp-xebd-a09fdabf7939819581c6b7797b180a18c4f477fa.tar.gz
accel-ppp-xebd-a09fdabf7939819581c6b7797b180a18c4f477fa.zip
bug fixes
Diffstat (limited to 'accel-pptpd/ctrl/pppoe/pppoe.c')
-rw-r--r--accel-pptpd/ctrl/pppoe/pppoe.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/accel-pptpd/ctrl/pppoe/pppoe.c b/accel-pptpd/ctrl/pppoe/pppoe.c
index eacecc9..0ff166c 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;
}
}