]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix race in TestUtpLocalPortIsReusable
authorMatt Joiner <anacrolix@gmail.com>
Tue, 2 May 2023 07:06:36 +0000 (17:06 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 9 May 2023 05:46:52 +0000 (15:46 +1000)
reuse_test.go

index 3adf002f6fbeb07d1edd4c2504ca2c9f8f870e4b..40df9a3e4778bbda4f0df70f99e996a610cb6089 100644 (file)
@@ -42,7 +42,9 @@ func TestUtpLocalPortIsReusable(t *testing.T) {
        c.Assert(err, qt.IsNil)
        defer remote.Close()
        var remoteAccepts int32
+       doneAccepting := make(chan struct{})
        go func() {
+               defer close(doneAccepting)
                for {
                        c, err := remote.Accept()
                        if err != nil {
@@ -66,5 +68,6 @@ func TestUtpLocalPortIsReusable(t *testing.T) {
        c.Assert(err, qt.IsNil)
        defer second.Close()
        remote.Close()
+       <-doneAccepting
        c.Assert(atomic.LoadInt32(&remoteAccepts), qt.Equals, int32(2))
 }