reg.finalizer              package:base              R Documentation

Finalization of Objects

Description:

     Registers an R function to be called upon garbage collection of
     object or (optionally) at the end of an R session.

Usage:

       reg.finalizer(e, f, onexit = FALSE)

Arguments:

       e: Object to finalize. Must be environment or external pointer.

       f: Function to call on finalization. Must accept a single
          argument, which will be the object to finalize.

  onexit: logical: should the finalizer be run if the object is still
          uncollected at the end of the R session?

Value:

     'NULL'.

Note:

     The purpose of this function is mainly to allow objects that refer
     to external items (a temporary file, say) to perform cleanup
     actions when they are no longer referenced from within R.  This
     only makes sense for objects that are never copied on assignment,
     hence the restriction to environments and external pointers.

See Also:

     'gc' and 'Memory' for garbage collection and memory management.

Examples:

     f <- function(e) print("cleaning....")
     g <- function(x){ e <- environment(); reg.finalizer(e,f) }
     g()
     invisible(gc()) # trigger cleanup

