bitswap engine: signal in own func
Juan Batiz-Benet committed
Jan 3, 2015 at 06:14 UTC
c100390a49e6508ba7783e3015ced7ede162b858
1 file changed
+10
-5
exchange/bitswap/decision/engine.go
+10
-5
@@ -143,13 +143,10 @@ func (e *Engine) MessageReceived(p peer.ID, m bsmsg.BitSwapMessage) error {
143
newWorkExists := false
144
defer func() {
145
if newWorkExists {
146
- // Signal task generation to restart (if stopped!)
147
- select {
148
- case e.workSignal <- struct{}{}:
149
- default:
150
- }
146
+ e.signalNewWork()
147
}
148
}()
149
+
150
e.lock.Lock()
151
defer e.lock.Unlock()
152
@@ -222,3 +219,11 @@ func (e *Engine) findOrCreate(p peer.ID) *ledger {
219
}
220
return l
221
}
222
+
223
+func (e *Engine) signalNewWork() {
224
+ // Signal task generation to restart (if stopped!)
225
+ select {
226
+ case e.workSignal <- struct{}{}:
227
+ default:
228
+ }
229
+}