| version 1.1.1.2, 2000/04/14 11:07:58 |
version 1.1.1.3, 2000/12/01 14:48:24 |
| Line 619 void GC_finalize() |
|
| Line 619 void GC_finalize() |
|
| void GC_enqueue_all_finalizers() |
void GC_enqueue_all_finalizers() |
| { |
{ |
| struct finalizable_object * curr_fo, * prev_fo, * next_fo; |
struct finalizable_object * curr_fo, * prev_fo, * next_fo; |
| ptr_t real_ptr, real_link; |
ptr_t real_ptr; |
| register int i; |
register int i; |
| int fo_size; |
int fo_size; |
| |
|
| Line 693 GC_API void GC_finalize_all() |
|
| Line 693 GC_API void GC_finalize_all() |
|
| ENABLE_SIGNALS(); |
ENABLE_SIGNALS(); |
| } |
} |
| #endif |
#endif |
| |
|
| |
/* Returns true if it is worth calling GC_invoke_finalizers. (Useful if */ |
| |
/* finalizers can only be called from some kind of `safe state' and */ |
| |
/* getting into that safe state is expensive.) */ |
| |
int GC_should_invoke_finalizers GC_PROTO((void)) |
| |
{ |
| |
return GC_finalize_now != 0; |
| |
} |
| |
|
| /* Invoke finalizers for all objects that are ready to be finalized. */ |
/* Invoke finalizers for all objects that are ready to be finalized. */ |
| /* Should be called without allocation lock. */ |
/* Should be called without allocation lock. */ |