diff options
author | Michael Stapelberg <stapelberg@debian.org> | 2013-03-04 21:27:36 +0100 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2013-03-04 21:27:36 +0100 |
commit | 04b08da9af0c450d645ab7389d1467308cfc2db8 (patch) | |
tree | db247935fa4f2f94408edc3acd5d0d4f997aa0d8 /src/pkg/runtime/mfinal.c | |
parent | 917c5fb8ec48e22459d77e3849e6d388f93d3260 (diff) | |
download | golang-upstream/1.1_hg20130304.tar.gz |
Imported Upstream version 1.1~hg20130304upstream/1.1_hg20130304
Diffstat (limited to 'src/pkg/runtime/mfinal.c')
-rw-r--r-- | src/pkg/runtime/mfinal.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pkg/runtime/mfinal.c b/src/pkg/runtime/mfinal.c index 1fa5ea401..2f5e4277d 100644 --- a/src/pkg/runtime/mfinal.c +++ b/src/pkg/runtime/mfinal.c @@ -11,8 +11,8 @@ enum { debug = 0 }; typedef struct Fin Fin; struct Fin { - void (*fn)(void*); - int32 nret; + FuncVal *fn; + uintptr nret; }; // Finalizer hash table. Direct hash, linear scan, at most 3/4 full. @@ -42,7 +42,7 @@ static struct { } fintab[TABSZ]; static void -addfintab(Fintab *t, void *k, void (*fn)(void*), int32 nret) +addfintab(Fintab *t, void *k, FuncVal *fn, uintptr nret) { int32 i, j; @@ -137,7 +137,7 @@ resizefintab(Fintab *tab) } bool -runtime·addfinalizer(void *p, void (*f)(void*), int32 nret) +runtime·addfinalizer(void *p, FuncVal *f, uintptr nret) { Fintab *tab; byte *base; @@ -175,7 +175,7 @@ runtime·addfinalizer(void *p, void (*f)(void*), int32 nret) // get finalizer; if del, delete finalizer. // caller is responsible for updating RefHasFinalizer (special) bit. bool -runtime·getfinalizer(void *p, bool del, void (**fn)(void*), int32 *nret) +runtime·getfinalizer(void *p, bool del, FuncVal **fn, uintptr *nret) { Fintab *tab; bool res; |