From d9c6f02fae856b74c356bdff35aac61a6a8de1c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Tue, 16 May 2000 01:37:24 -0700 Subject: [PATCH] bugfix for gc callback Rev: src/gc.h:1.41 --- src/gc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gc.h b/src/gc.h index c697e993f6..b594b9d67d 100644 --- a/src/gc.h +++ b/src/gc.h @@ -1,5 +1,5 @@ /* - * $Id: gc.h,v 1.40 2000/05/04 03:14:31 hubbe Exp $ + * $Id: gc.h,v 1.41 2000/05/16 08:37:24 hubbe Exp $ */ #ifndef GC_H #define GC_H @@ -21,7 +21,7 @@ extern struct callback_list evaluator_callbacks; extern void *gc_svalue_location; #endif -#define ADD_GC_CALLBACK() gc_evaluator_callback=add_to_callback(&evaluator_callbacks,(callback_func)do_gc,0,0) +#define ADD_GC_CALLBACK() do { if(!gc_evaluator_callback) gc_evaluator_callback=add_to_callback(&evaluator_callbacks,(callback_func)do_gc,0,0); }while(0) #define LOW_GC_ALLOC(OBJ) do { \ extern int d_flag; \ @@ -38,12 +38,12 @@ extern void *gc_svalue_location; #ifdef ALWAYS_GC #define GC_ALLOC(OBJ) do{ \ LOW_GC_ALLOC(OBJ); \ - if(!gc_evaluator_callback) ADD_GC_CALLBACK(); \ + ADD_GC_CALLBACK(); \ } while(0) #else #define GC_ALLOC(OBJ) do{ \ LOW_GC_ALLOC(OBJ); \ - if(num_allocs == alloc_threshold && !gc_evaluator_callback) \ + if(num_allocs == alloc_threshold) \ ADD_GC_CALLBACK(); \ } while(0) #endif -- GitLab