]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix unclosed GCSweepStart trace event
authorMichael Anthony Knyszek <mknyszek@google.com>
Fri, 29 Oct 2021 17:58:42 +0000 (17:58 +0000)
committerMichael Knyszek <mknyszek@google.com>
Fri, 29 Oct 2021 18:34:24 +0000 (18:34 +0000)
CL 333389 erroneously moved traceGCSweepDone inside the sl.valid block
that it introduced in mcentral.cacheSpan, when it should have left it
outside that scope, because the trace event is created unconditionally
at the top of the method.

Fixes #49231.

Change-Id: If719c05063d4f4d330a320da6dc00d1e9d8102e4
Reviewed-on: https://go-review.googlesource.com/c/go/+/359775
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/runtime/mcentral.go

index 4ae3a883a4c2af2500ce8fb332a00074043dfc03..e4bdf3507170e7eefdadac422c238db139e039a5 100644 (file)
@@ -154,10 +154,10 @@ func (c *mcentral) cacheSpan() *mspan {
                        // See comment for partial unswept spans.
                }
                sweep.active.end(sl)
-               if trace.enabled {
-                       traceGCSweepDone()
-                       traceDone = true
-               }
+       }
+       if trace.enabled {
+               traceGCSweepDone()
+               traceDone = true
        }
 
        // We failed to get a span from the mcentral so get one from mheap.