Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
9550f290
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9550f290
编写于
8月 07, 2018
作者:
K
Kevin Heifner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Consistently emit before squash/undo
上级
31d8b7e0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
13 deletion
+17
-13
libraries/chain/controller.cpp
libraries/chain/controller.cpp
+17
-13
未找到文件。
libraries/chain/controller.cpp
浏览文件 @
9550f290
...
...
@@ -495,13 +495,6 @@ struct controller_impl {
trx_context
.
billed_cpu_time_us
,
trace
->
net_usage
);
fc
::
move_append
(
pending
->
_actions
,
move
(
trx_context
.
executed
)
);
auto
onetrx
=
std
::
make_shared
<
transaction_metadata
>
(
etrx
);
onetrx
->
accepted
=
true
;
onetrx
->
implicit
=
true
;
emit
(
self
.
accepted_transaction
,
onetrx
);
emit
(
self
.
applied_transaction
,
trace
);
trx_context
.
squash
();
restore
.
cancel
();
return
trace
;
...
...
@@ -576,9 +569,9 @@ struct controller_impl {
trace
->
id
=
gtrx
.
trx_id
;
trace
->
scheduled
=
true
;
trace
->
receipt
=
push_receipt
(
gtrx
.
trx_id
,
transaction_receipt
::
expired
,
billed_cpu_time_us
,
0
);
// expire the transaction
undo_session
.
squash
();
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
undo_session
.
squash
();
return
trace
;
}
...
...
@@ -609,13 +602,14 @@ struct controller_impl {
fc
::
move_append
(
pending
->
_actions
,
move
(
trx_context
.
executed
)
);
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
trx_context
.
squash
();
undo_session
.
squash
();
restore
.
cancel
();
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
return
trace
;
}
catch
(
const
fc
::
exception
&
e
)
{
cpu_time_to_bill_us
=
trx_context
.
update_billed_cpu_time
(
fc
::
time_point
::
now
()
);
...
...
@@ -634,9 +628,9 @@ struct controller_impl {
error_trace
->
failed_dtrx_trace
=
trace
;
trace
=
error_trace
;
if
(
!
trace
->
except_ptr
)
{
undo_session
.
squash
();
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
undo_session
.
squash
();
return
trace
;
}
trace
->
elapsed
=
fc
::
time_point
::
now
()
-
trx_context
.
start
;
...
...
@@ -662,11 +656,18 @@ struct controller_impl {
block_timestamp_type
(
self
.
pending_block_time
()).
slot
);
// Should never fail
trace
->
receipt
=
push_receipt
(
gtrx
.
trx_id
,
transaction_receipt
::
hard_fail
,
cpu_time_to_bill_us
,
0
);
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
undo_session
.
squash
();
}
else
{
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
undo_session
.
undo
();
}
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
return
trace
;
}
FC_CAPTURE_AND_RETHROW
()
}
/// push_scheduled_transaction
...
...
@@ -789,6 +790,9 @@ struct controller_impl {
unapplied_transactions
.
erase
(
trx
->
signed_id
);
}
emit
(
self
.
accepted_transaction
,
trx
);
emit
(
self
.
applied_transaction
,
trace
);
return
trace
;
}
FC_CAPTURE_AND_RETHROW
((
trace
))
}
/// push_transaction
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录