on.exit() applies to the function where it was called, i.e.
closeSomeServices() is called when .onLoad() exits, or whatever
function it is defined in.  You're looking for .onUnload().  Make sure
to read the help for details.

Cheers

Henrik


On 1/17/07, Dirk Eddelbuettel <[EMAIL PROTECTED]> wrote:
>
> I just found out that an .onLoad() function such as this stylized one (where
> I just renamed some identifiers)
>
>
> .onLoad <- function(lib, pkg) {
>   require(zoo, quiet=TRUE, warn.conflicts=FALSE)
>   library.dynam("foolib", pkg, lib )
>   if (.Platform$OS.type != "windows") {
>     initSomeServices()
>   }
>   if (.Platform$OS.type != "windows") {
>     on.exit(closeSomeServices())
>   }
> }
>
> actually triggers a call of 'closeSomeServices()'. I am probably
> misunderstanding something here -- but I thought on.exit() would only be
> called on, well, exit ?
>
> Dirk
>
> --
> Hell, there are no rules here - we're trying to accomplish something.
>                                                   -- Thomas A. Edison
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to