summaryrefslogtreecommitdiff
path: root/libguile/smob.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/smob.c')
-rw-r--r--libguile/smob.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/libguile/smob.c b/libguile/smob.c
index 0c3a5441b..e7975d03e 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -597,14 +597,7 @@ scm_i_new_smob (scm_t_bits tc, scm_t_bits data)
SCM_SET_CELL_WORD_0 (ret, tc);
if (scm_smobs[smobnum].free)
- {
- GC_finalization_proc prev_finalizer;
- GC_PTR prev_finalizer_data;
-
- GC_REGISTER_FINALIZER_NO_ORDER (SCM2PTR (ret),
- finalize_smob, NULL,
- &prev_finalizer, &prev_finalizer_data);
- }
+ scm_i_set_finalizer (SCM2PTR (ret), finalize_smob, NULL);
return ret;
}
@@ -631,14 +624,7 @@ scm_i_new_double_smob (scm_t_bits tc, scm_t_bits data1,
SCM_SET_CELL_WORD_0 (ret, tc);
if (scm_smobs[smobnum].free)
- {
- GC_finalization_proc prev_finalizer;
- GC_PTR prev_finalizer_data;
-
- GC_REGISTER_FINALIZER_NO_ORDER (SCM2PTR (ret),
- finalize_smob, NULL,
- &prev_finalizer, &prev_finalizer_data);
- }
+ scm_i_set_finalizer (SCM2PTR (ret), finalize_smob, NULL);
return ret;
}