forked from cerc-io/plugeth
p2p/nodestate: fix deadlock during shutdown of les server (#21927)
This PR fixes a deadlock reported here: #21925 The cause is that many operations may be pending, but if the close happens, only one of them gets awoken and exits, the others remain waiting for a signal that never comes.
This commit is contained in:
parent
a1ddd9e1d3
commit
e7db1dbc96
@ -725,7 +725,7 @@ func (ns *NodeStateMachine) opFinish() {
|
|||||||
}
|
}
|
||||||
ns.opPending = nil
|
ns.opPending = nil
|
||||||
ns.opFlag = false
|
ns.opFlag = false
|
||||||
ns.opWait.Signal()
|
ns.opWait.Broadcast()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Operation calls the given function as an operation callback. This allows the caller
|
// Operation calls the given function as an operation callback. This allows the caller
|
||||||
|
Loading…
Reference in New Issue
Block a user