Commit be1c71ec authored by Russ Cox's avatar Russ Cox

runtime: clear f, arg to avoid leak in timerproc

I have seen this cause leaks where not all objects in a sync.Pool
would be reclaimed during the sync package tests.
I found it while debugging the '0 of 100 finalized' failure we are
seeing on arm, but it seems not to be the root cause for that one.

LGTM=dave, dvyukov
R=golang-codereviews, dave, dvyukov
CC=golang-codereviews
https://golang.org/cl/64920044
parent 5c604f84
......@@ -217,6 +217,14 @@ timerproc(void)
if(raceenabled)
runtime·raceacquire(t);
f(now, arg);
// clear f and arg to avoid leak while sleeping for next timer
f = nil;
USED(f);
arg.type = nil;
arg.data = nil;
USED(&arg);
runtime·lock(&timers);
}
if(delta < 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment