Skip to main content

GC_register_finalizer_ignore_self

Function GC_register_finalizer_ignore_self 

Source
pub unsafe extern "C" fn GC_register_finalizer_ignore_self(
    arg1: *mut c_void,
    arg2: GC_finalization_proc,
    arg3: *mut c_void,
    arg4: *mut GC_finalization_proc,
    arg5: *mut *mut c_void,
)
Expand description

Another variant of GC_register_finalizer but ignoring self-cycles, i.e. pointers from a finalizable object to itself. There is a stylistic argument that this is wrong, but it is unavoidable for C++, since the compiler may silently introduce these. It is also benign in that specific case. And it helps if finalizable objects are split to avoid cycles. Note that cd will still be viewed as accessible, even if it refers to the object itself.