On 9 August 2018 at 14:13, luke-tier...@uiowa.edu wrote: | On Thu, 9 Aug 2018, Dirk Eddelbuettel wrote: | | > | > On 9 August 2018 at 20:37, Tomas Kalibera wrote: | > | So to answer your original question, this could probably be handled in | > | Rcpp, | > | > Hm. Why do you say that / what did you have in mind? | | We say it because it is true. Rcpp registers C finalizers and running | them after unloading will segfault. For now it would be better for Rcpp | (and everyone else) to explicitly discourage unloading as it is | unreliable on many levels. | | What Rcpp could do to avoid segfaulting is to keep a weak list of all | objects to which it attaches C finalizers and arrange for those to be | cleaned up in an R_unload_<dllname> routine. Not clear it is worth the | trouble. At the R level we could provide more support for this since | we already have a weak list of objects with finalizers, but again not | clear it is worth the trouble.
Ah, noted, thanks for the explainer. As I remain in camp "don't try unloading" I won't make this a priority myself, but as always open to credible PRs. Could start with an issue ticket and discussion if anybody is so inclined. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel