{"action":"created","issue":{"url":"https://api.github.com/repos/eddelbuettel/digest/issues/42","repository_url":"https://api.github.com/repos/eddelbuettel/digest","labels_url":"https://api.github.com/repos/eddelbuettel/digest/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/eddelbuettel/digest/issues/42/comments","events_url":"https://api.github.com/repos/eddelbuettel/digest/issues/42/events","html_url":"https://github.com/eddelbuettel/digest/pull/42","id":164967743,"number":42,"title":"ROBUSTNESS: Now the digest DLL is unloaded when the package is unloaded","user":{"login":"HenrikBengtsson","id":1616850,"avatar_url":"https://avatars.githubusercontent.com/u/1616850?v=3","gravatar_id":"","url":"https://api.github.com/users/HenrikBengtsson","html_url":"https://github.com/HenrikBengtsson","followers_url":"https://api.github.com/users/HenrikBengtsson/followers","following_url":"https://api.github.com/users/HenrikBengtsson/following{/other_user}","gists_url":"https://api.github.com/users/HenrikBengtsson/gists{/gist_id}","starred_url":"https://api.github.com/users/HenrikBengtsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenrikBengtsson/subscriptions","organizations_url":"https://api.github.com/users/HenrikBengtsson/orgs","repos_url":"https://api.github.com/users/HenrikBengtsson/repos","events_url":"https://api.github.com/users/HenrikBengtsson/events{/privacy}","received_events_url":"https://api.github.com/users/HenrikBengtsson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-07-12T00:15:48Z","updated_at":"2016-07-12T02:13:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/eddelbuettel/digest/pulls/42","html_url":"https://github.com/eddelbuettel/digest/pull/42","diff_url":"https://github.com/eddelbuettel/digest/pull/42.diff","patch_url":"https://github.com/eddelbuettel/digest/pull/42.patch"},"body":"I know you prefer issue discussions first, but I'd say this one is pretty obvious.  With digest (<= 0.6.9.3) we get:\r\n```r\r\n> library(\"digest\")\r\n> unloadNamespace(\"digest\")\r\n> getLoadedDLLs()\r\n                                                                  Filename Dynamic.Lookup\r\nbase                                                                  base          FALSE\r\nmethods                         /usr/lib/R/library/methods/libs/methods.so          FALSE\r\nutils                               /usr/lib/R/library/utils/libs/utils.so          FALSE\r\ntools                               /usr/lib/R/library/tools/libs/tools.so          FALSE\r\ninternet                                   /usr/lib/R/modules//internet.so           TRUE\r\ngrDevices                   /usr/lib/R/library/grDevices/libs/grDevices.so          FALSE\r\ngraphics                      /usr/lib/R/library/graphics/libs/graphics.so          FALSE\r\nstats                               /usr/lib/R/library/stats/libs/stats.so          FALSE\r\ndigest    /home/hb/R/x86_64-pc-linux-gnu-library/3.3/digest/libs/digest.so           TRUE\r\n```\r\n\r\nThis PR makes sure the digest DLL/SO is unloaded together with the namespace.\r\n\r\nSee also https://github.com/HenrikBengtsson/Wishlist-for-R/issues/29"},"comment":{"url":"https://api.github.com/repos/eddelbuettel/digest/issues/comments/231919167","html_url":"https://github.com/eddelbuettel/digest/pull/42#issuecomment-231919167","issue_url":"https://api.github.com/repos/eddelbuettel/digest/issues/42","id":231919167,"user":{"login":"HenrikBengtsson","id":1616850,"avatar_url":"https://avatars.githubusercontent.com/u/1616850?v=3","gravatar_id":"","url":"https://api.github.com/users/HenrikBengtsson","html_url":"https://github.com/HenrikBengtsson","followers_url":"https://api.github.com/users/HenrikBengtsson/followers","following_url":"https://api.github.com/users/HenrikBengtsson/following{/other_user}","gists_url":"https://api.github.com/users/HenrikBengtsson/gists{/gist_id}","starred_url":"https://api.github.com/users/HenrikBengtsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenrikBengtsson/subscriptions","organizations_url":"https://api.github.com/users/HenrikBengtsson/orgs","repos_url":"https://api.github.com/users/HenrikBengtsson/repos","events_url":"https://api.github.com/users/HenrikBengtsson/events{/privacy}","received_events_url":"https://api.github.com/users/HenrikBengtsson/received_events","type":"User","site_admin":false},"created_at":"2016-07-12T02:13:08Z","updated_at":"2016-07-12T02:13:08Z","body":"For the same reason you want to be able to unload/detach packages.  See https://github.com/HenrikBengtsson/Wishlist-for-R/issues/29.  It hits people on and off.  For me it has prevented me from iterating over CRAN packages checking for certain code properties.  Imagine a generic R server session; it will eventually run out of DLL slots if loading and unload random packages.\r\n\r\nI think the question should be: Why not do/enforce this?"}}
{"actor":{"display_login":"HenrikBengtsson"}}