Re: [Rd] hook for when R quits

From: Henrik Bengtsson <hb_at_biostat.ucsf.edu>
Date: Fri, 11 Mar 2011 12:11:35 -0800

On Fri, Mar 11, 2011 at 11:07 AM, Prof Brian Ripley <ripley_at_stats.ox.ac.uk> wrote:
> On Fri, 11 Mar 2011, Duncan Murdoch wrote:
>
>> On 11/03/2011 1:37 PM, Michael Lawrence wrote:
>>>
>>> Thanks for the suggestion, but I don't think that R finalizes all of its
>>> objects when it quits. At least a simple test suggests that on Linux.
>>
>> Did you use onexit=TRUE?  On Windows that appears to work...

Agree - here an object finalizer is more appropriate (different from an end-of-session hook).

>
> It does work: RODBC makes extensive use of it, for exactly the purpose you
> describe (or rather, the C_level equivalent of 'it').

In help(reg.finalizer) it says:

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

What environments, objects, search path etc are available when the finalizer is called this way when R exits? Is safe to always add 'onexit=TRUE' (which now defaults to FALSE), or should I expect an "exceptional" R system that the finalizer needs to account for?

Is there any further documentation on what happens when an R session shuts down and in which order?

/Henrik

>
>>
>> Duncan Murdoch
>>
>>> Michael
>>>
>>> On Fri, Mar 11, 2011 at 10:19 AM, Jeffrey
>>> Ryan<jeffrey.ryan_at_lemnica.com>wrote:
>>>
>>> >  Take a look at reg.finalizer.  You'd have to create an object
>>> >  internally that would persist until R exits - and a related function
>>> >  to handle cleanup of course.
>>> >
>>> >  HTH
>>> >  Jeff
>>> >
>>> >  On Fri, Mar 11, 2011 at 12:08 PM, Michael Lawrence
>>> >  <lawrence.michael_at_gene.com>  wrote:
>>> >  >  Hi,
>>> >  >
>>> >  >  Is there any way that a package can listen for when R quits? The Qt
>>> > stuff
>>> >  is
>>> >  >  hooking into platform-specific event loops and when those die
>>> >  unexpectedly
>>> >  >  (from the perspective of Qt), it aborts, causing an annoying error
>>> >  dialog.
>>> >  >  If we could catch when R is killed, we could cleanup, like we do
>>> > with
>>> >  >  .onUnload.
>>> >  >
>>> >  >  Thanks,
>>> >  >  Michael
>>> >  >
>>> >  >         [[alternative HTML version deleted]]
>>> >  >
>>> >  >  ______________________________________________
>>> >  >  R-devel_at_r-project.org mailing list
>>> >  >  https://stat.ethz.ch/mailman/listinfo/r-devel
>>> >  >
>>> >
>>> >
>>> >
>>> >  --
>>> >  Jeffrey Ryan
>>> >  jeffrey.ryan_at_lemnica.com
>>> >
>>> >  www.lemnica.com
>>> >
>>>
>>>        [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-devel_at_r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> --
> Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 11 Mar 2011 - 20:17:49 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 12 Mar 2011 - 08:20:31 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive