Prof Brian Ripley <[EMAIL PROTECTED]> writes:

> On Fri, 11 Jun 2004, Vadim Ogranovich wrote:
> 
> > A recent discussion on the list about tryCatch and signals made me think
> > about memory allocation and signals in C extension modules. What happens
> > to the memory allocated by R_alloc and Calloc if the user pressed Ctr-C
> > during the call? R-ext doesn't seem to discuss this. I'd guess that
> > R_alloc is interrupt-safe while Calloc is not, but I am not sure. In any
> > case a paragraph in R-ext on signals would be helpful.
> 
> Easy: such code is not interruptible by Ctrl-C (sic).  And that *is* in
> R_exts.* (sic), even with an entry `interrupts' in its index!

The programmer might reenable interrupts though. This is not something
that we have a precedence (nor a policy) for, but it has crossed my
mind a couple of times. 

In some cases it should be possible to wrap time-consuming C code in a
setjmp/longjmp construct. It's not possible to do it generally because
all hell breaks loose if the C code calls back into R, but not all C
code does that. 

Of course it is critically important that the code resets the
interrupt handling to a sane state when it is done, so it would be
nice if we could abstract a reasonably safe construction into a
RUN_INTERRUPTIBLE() macro.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])             FAX: (+45) 35327907

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to