Hi,

I was wondering if anybody knew how to trap SIGINTs (ie Ctrl-C) in backend C++ 
code for R extensions?  I'm writing a package that uses the GPU for some hefty 
matrix operations in a tightly coupled parallel algorithm implemented in CUDA.

The problem is that once running, the C++ module cannot apparently be 
interrupted by a SIGINT, leaving the user sat waiting even if they realise 
they've launched the algorithm with incorrect settings.  Occasionally, the 
SIGINT gets through and the C++ module stops.  However, this leaves the CUDA 
context hanging, meaning that if the algorithm is launched again R dies.  If I 
could trap the SIGINT, then I could make sure a) that the algorithm stops 
immediately, and b) that the CUDA context is destructed nicely.

Is there a "R-standard" method of doing this?

Thanks,

Chris


--
Dr Chris Jewell
Lecturer in Biostatistics
Institute of Fundamental Sciences
Massey University
Private Bag 11222
Palmerston North 4442
New Zealand
Tel: +64 (0) 6 350 5701 Extn: 3586

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to