Re: [Rd] Ctrl-C of functions that allocated mem

From: Simon Urbanek <simon.urbanek_at_r-project.org>
Date: Wed, 08 Jun 2011 20:40:21 -0400

On Jun 8, 2011, at 8:06 PM, oliver wrote:

>
> Hello,
>
>
> what happens, when a function (R-extension in C), that allocated memory
> (strdup(), malloc()/calloc() and so on), and is used in interactive mode, then
> will be stopped via Ctrl-C?
>
> I would assume that there remains allocated memory,
> which is not usable and also not accessable (hence no
> way to free it).
>
> Are there any mechanisms in R that could help in rolling
> back the allocation?
>

Yes, if you read R-exts:
http://r.research.att.com/man/R-exts.html#Memory-allocation you would know that you're not supposed to use malloc/calloc at all and if you allow interruption ("regular" C code does not) R_alloc does what you asked about.

Cheers,
Simon

> Normally in an interactive session "some memory" might not be a problem,
> because it will be run shortly; but I prefer clean solutions.
> And also, if it's much mem, which is allocated each time, and one does many
> trials and Ctr-C's, even an interactive session might eat a lot of mem.
>
> So I would be interested in a solution to this (potential) problem.
>
>
> Ciao,
> Oliver
>
> ______________________________________________
> 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 Thu 09 Jun 2011 - 00:45:03 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

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 Thu 09 Jun 2011 - 15:00:16 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