Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Achou.Wang
accel-ppp
提交
b33fa760
A
accel-ppp
项目概览
Achou.Wang
/
accel-ppp
通知
6
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
accel-ppp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b33fa760
编写于
11月 29, 2010
作者:
K
Kozlov Dmitry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use atomic operation on statistics update operations
上级
369689ab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
9 deletion
+9
-9
accel-pptpd/ppp/ppp.c
accel-pptpd/ppp/ppp.c
+9
-9
未找到文件。
accel-pptpd/ppp/ppp.c
浏览文件 @
b33fa760
...
...
@@ -152,7 +152,7 @@ int __export establish_ppp(struct ppp_t *ppp)
triton_md_enable_handler
(
&
ppp
->
unit_hnd
,
MD_MODE_READ
);
ppp
->
state
=
PPP_STATE_STARTING
;
ppp_stat
.
starting
++
;
__sync_add_and_fetch
(
&
ppp_stat
.
starting
,
1
)
;
pthread_rwlock_wrlock
(
&
ppp_lock
);
list_add_tail
(
&
ppp
->
entry
,
&
ppp_list
);
...
...
@@ -184,13 +184,13 @@ static void destablish_ppp(struct ppp_t *ppp)
switch
(
ppp
->
state
)
{
case
PPP_STATE_ACTIVE
:
ppp_stat
.
active
--
;
__sync_sub_and_fetch
(
&
ppp_stat
.
active
,
1
)
;
break
;
case
PPP_STATE_STARTING
:
ppp_stat
.
starting
--
;
__sync_sub_and_fetch
(
&
ppp_stat
.
starting
,
1
)
;
break
;
case
PPP_STATE_FINISHING
:
ppp_stat
.
finishing
--
;
__sync_sub_and_fetch
(
&
ppp_stat
.
finishing
,
1
)
;
break
;
}
...
...
@@ -374,8 +374,8 @@ void __export ppp_layer_started(struct ppp_t *ppp, struct ppp_layer_data_t *d)
if
(
n
->
entry
.
next
==
&
ppp
->
layers
)
{
ppp
->
state
=
PPP_STATE_ACTIVE
;
ppp_stat
.
starting
--
;
ppp_stat
.
active
++
;
__sync_sub_and_fetch
(
&
ppp_stat
.
starting
,
1
)
;
__sync_add_and_fetch
(
&
ppp_stat
.
active
,
1
)
;
ppp
->
ctrl
->
started
(
ppp
);
triton_event_fire
(
EV_PPP_STARTED
,
ppp
);
}
else
{
...
...
@@ -430,10 +430,10 @@ void __export ppp_terminate(struct ppp_t *ppp, int cause, int hard)
ppp
->
terminating
=
1
;
if
(
ppp
->
state
==
PPP_STATE_ACTIVE
)
ppp_stat
.
active
--
;
__sync_sub_and_fetch
(
&
ppp_stat
.
active
,
1
)
;
else
ppp_stat
.
starting
--
;
ppp_stat
.
finishing
++
;
__sync_sub_and_fetch
(
&
ppp_stat
.
starting
,
1
)
;
__sync_add_and_fetch
(
&
ppp_stat
.
finishing
,
1
)
;
ppp
->
state
=
PPP_STATE_FINISHING
;
log_ppp_debug
(
"ppp_terminate
\n
"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录