]> Cypherpunks repositories - gostls13.git/commit
runtime: fix memory leak in runfinq
authorRuss Cox <rsc@golang.org>
Fri, 7 Mar 2014 16:27:01 +0000 (11:27 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 7 Mar 2014 16:27:01 +0000 (11:27 -0500)
commitb08156cd874d9534776cd9ece8f6f4ab092a68a5
tree6d44e112d681a874df8a2ef95794580bdb16dd1d
parente509bbc943e817317e4db04b48f2895bec712c2f
runtime: fix memory leak in runfinq

One reason the sync.Pool finalizer test can fail is that
this function's ef1 contains uninitialized data that just
happens to point at some of the old pool. I've seen this cause
retention of a single pool cache line (32 elements) on arm.

Really we need liveness information for C functions, but
for now we can be more careful about data in long-lived
C functions that block.

LGTM=bradfitz, dvyukov
R=golang-codereviews, bradfitz, dvyukov
CC=golang-codereviews, iant, khr
https://golang.org/cl/72490043
src/pkg/runtime/mgc0.c