提交 c100390a 作者: Juan Batiz-Benet

bitswap engine: signal in own func

上级 62362584
...@@ -143,13 +143,10 @@ func (e *Engine) MessageReceived(p peer.ID, m bsmsg.BitSwapMessage) error { ...@@ -143,13 +143,10 @@ func (e *Engine) MessageReceived(p peer.ID, m bsmsg.BitSwapMessage) error {
newWorkExists := false newWorkExists := false
defer func() { defer func() {
if newWorkExists { if newWorkExists {
// Signal task generation to restart (if stopped!) e.signalNewWork()
select {
case e.workSignal <- struct{}{}:
default:
}
} }
}() }()
e.lock.Lock() e.lock.Lock()
defer e.lock.Unlock() defer e.lock.Unlock()
...@@ -222,3 +219,11 @@ func (e *Engine) findOrCreate(p peer.ID) *ledger { ...@@ -222,3 +219,11 @@ func (e *Engine) findOrCreate(p peer.ID) *ledger {
} }
return l return l
} }
func (e *Engine) signalNewWork() {
// Signal task generation to restart (if stopped!)
select {
case e.workSignal <- struct{}{}:
default:
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论