diff --git a/src/pkg/runtime/mgc0.c b/src/pkg/runtime/mgc0.c index 6369da2720c..f9dbdbb4a11 100644 --- a/src/pkg/runtime/mgc0.c +++ b/src/pkg/runtime/mgc0.c @@ -2191,7 +2191,7 @@ runfinq(void) framesz = sizeof(uintptr) + f->nret; if(framecap < framesz) { runtime·free(frame); - frame = runtime·mallocgc(framesz, FlagNoPointers, 0, 1); + frame = runtime·mal(framesz); framecap = framesz; } *(void**)frame = f->arg; diff --git a/test/fixedbugs/issue5348.go b/test/fixedbugs/issue5348.go deleted file mode 100644 index 94c3d5d15ff..00000000000 --- a/test/fixedbugs/issue5348.go +++ /dev/null @@ -1,37 +0,0 @@ -// run - -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Issue 5348: finalizers keep data live for a surprising amount of time - -package main - -import ( - "runtime" -) - -type T struct { - S *string -} - -func newString(s string) *string { - return &s -} - -var c = make(chan int) - -func foo() { - t := &T{S: newString("foo")} - runtime.SetFinalizer(t, func(p *T) { c <- 0 }) - runtime.SetFinalizer(t.S, func(p *string) { c <- 0 }) -} - -func main() { - foo() - runtime.GC() - <-c - runtime.GC() - <-c -}