Vladimir Filipović

Results 4 comments of Vladimir Filipović

Here's a worked example of a deadlock: https://go.dev/play/p/wju1v6jPbGN Most lock/unlocks in the code look OK to me, but `Each` and (transitively) `Elements` aren't. It would be simple and safe to...

On reconsideration, I think there's another class of deadlocks that can happen, when the read-methods that access two sets are combined with modify-methods: * Goroutine 1 is calling `a.Equal(b)` and...

`Each` wants to unconditionally ensure that `RUnlock` will get called, but fails to do so if its call to `cb` happens to panic. Then any other code recovering from that...