During startup, when two threads/goroutines call transactionCommitInformer() (https://github.com/cloudwan/gohan/blob/master/server/transaction_commit_informer.go#L30), both may observe transactionCommited == nil and both will initialize transactionCommited, so both calls will return separate instances of transactionCommited.
During startup, when two threads/goroutines call transactionCommitInformer() (https://github.com/cloudwan/gohan/blob/master/server/transaction_commit_informer.go#L30), both may observe transactionCommited == nil and both will initialize transactionCommited, so both calls will return separate instances of transactionCommited.