[R] meta-question about R

Duncan Murdoch murdoch.duncan at gmail.com
Thu Apr 24 13:58:18 CEST 2014

On 24/04/2014, 7:42 AM, Jim Lemon wrote:
> On 04/24/2014 08:52 PM, mark wrote:
>> On 04/23/14 23:22, William Dunlap wrote:
>>> Aren't those files support for named semaphores (made with sem_open())?
>>> Packages like BH and RSQLite contain calls to sem_open. Is your
>>> long-running
>>> R process using such a package?
>>> I don't think you would want to delete those files, but perhaps you
>>> can look into
>>> whatever R package creates them and see if you can modify the code to
>>> give
>>> them better names and then add those names to rkhunter's whitelist.
>> You don't seem to understand what I'm asking. I have zero intention of
>> deleting those files. I'm sure that my user's long-running job is
>> creating them. What I'm asking is if ANYONE HERE knows if there is some
>> configuration file, or command inside R, that would tell R, whatever
>> package it's using (I assume that all packages inherit from the
>> top-level process), when it creates files in /dev/shm, to name them
>> something that I can use with wildcards in rkhunter's configuration file
>> so that rkhunter ignores them.
>> mark
> Hi mark,
> You are correct, I didn't understand what you were asking. Doing a bit
> of searching, the sem_open function's first argument is the name of the
> file that is to be created. It doesn't sound like you are specifying
> these filenames, so it is probably a matter of finding the function that
> calls sem_open or sem_init. I would approach this by grepping the source
> code of the functions that you are calling, but as I have no idea what
> these functions are (or how many levels of function calling goes on
> before one of these two functions is called), I can't provide a
> straightforward answer. If you do find the offending function, you can
> just edit the source code to include your "R_temp" prefix, save the
> edited function, and "source" it to replace the function that is not
> providing the prefixes.

Using debug(sem_open) is a quick way to find who is calling them.  R 
will break execution when it enters that function.  Use the debugger 
"where" command to see the calling stack.

Duncan Murdoch

More information about the R-help mailing list