summaryrefslogtreecommitdiff
path: root/misc/cgo
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-06-03 11:31:24 +0200
committerOndřej Surý <ondrej@sury.org>2011-06-03 11:31:24 +0200
commit56135c623a865c501ab31cc940c0e22ece2673f4 (patch)
treef69e04e82bbf75bdab0f624430ef265425e62b35 /misc/cgo
parent63d29fefab5290dc96e0a03ff70603aefa995887 (diff)
downloadgolang-56135c623a865c501ab31cc940c0e22ece2673f4.tar.gz
Imported Upstream version 2011.06.02upstream-weekly/2011.06.02
Diffstat (limited to 'misc/cgo')
-rw-r--r--misc/cgo/gmp/gmp.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/misc/cgo/gmp/gmp.go b/misc/cgo/gmp/gmp.go
index f7bbe9c51..7faa71b69 100644
--- a/misc/cgo/gmp/gmp.go
+++ b/misc/cgo/gmp/gmp.go
@@ -86,9 +86,8 @@ explicitly in Go to pointers to arrays, as they do (implicitly) in C.
Garbage collection is the big problem. It is fine for the Go world to
have pointers into the C world and to free those pointers when they
-are no longer needed. To help, the garbage collector calls an
-object's destroy() method prior to collecting it. C pointers can be
-wrapped by Go objects with appropriate destroy methods.
+are no longer needed. To help, the Go code can define Go objects
+holding the C pointers and use runtime.SetFinalizer on those Go objects.
It is much more difficult for the C world to have pointers into the Go
world, because the Go garbage collector is unaware of the memory