a55c74f80c
This commit uses the multimutex.Mutex to esure database state stays consistent when handling an announcement, by restricting access to one goroutine per channel ID. This fixes a bug where the goroutine would read the database, make some decisions based on what was read, then write its data to the database, but the read data would be outdated at this point. For instance, an AuthProof could have been added between reading the database and when the decision whether to announce the channel is made, making it not announce it. Similarly, when receiving the AuthProof, the edge policy could be added between reading the edge state and adding the proof to the database, also resulting in the edge not being announced. |
||
---|---|---|
.. | ||
ann_validation.go | ||
bootstrapper.go | ||
gossiper_test.go | ||
gossiper.go | ||
log.go | ||
utils.go |