Browse Source

fix err is nil

pull/317/head
xyctruth 4 years ago
parent
commit
7e4beb8fca
  1. 1
      dtmcli/dtmimp/utils.go
  2. 4
      dtmcli/tcc.go

1
dtmcli/dtmimp/utils.go

@ -253,6 +253,7 @@ func RespAsErrorByJSONRPC(resp *resty.Response) error {
// DeferDo a common defer do used in dtmcli/dtmgrpc // DeferDo a common defer do used in dtmcli/dtmgrpc
func DeferDo(rerr *error, success func() error, fail func() error) { func DeferDo(rerr *error, success func() error, fail func() error) {
if x := recover(); x != nil { if x := recover(); x != nil {
*rerr = AsError(x)
_ = fail() _ = fail()
panic(x) panic(x)
} else if *rerr != nil { } else if *rerr != nil {

4
dtmcli/tcc.go

@ -41,7 +41,9 @@ func TccGlobalTransaction2(dtm string, gid string, custom func(*Tcc), tccFunc Tc
defer dtmimp.DeferDo(&rerr, func() error { defer dtmimp.DeferDo(&rerr, func() error {
return dtmimp.TransCallDtm(&tcc.TransBase, tcc, "submit") return dtmimp.TransCallDtm(&tcc.TransBase, tcc, "submit")
}, func() error { }, func() error {
tcc.RollbackReason = rerr.Error() if rerr != nil {
tcc.RollbackReason = rerr.Error()
}
return dtmimp.TransCallDtm(&tcc.TransBase, tcc, "abort") return dtmimp.TransCallDtm(&tcc.TransBase, tcc, "abort")
}) })
_, rerr = tccFunc(tcc) _, rerr = tccFunc(tcc)

Loading…
Cancel
Save