Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 May 2009 06:49:24 +0200
From:      Lothar Scholz <scholz@scriptolutions.com>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        freebsd-arch@freebsd.org
Subject:   Re[2]: Posix shared memory problem
Message-ID:  <19461540.20090510064924@scriptolutions.com>
In-Reply-To: <20090509200724.GA25714@stack.nl>
References:  <588815840.20090509203115@scriptolutions.com> <20090509200724.GA25714@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Jilles,

Saturday, May 9, 2009, 10:07:24 PM, you wrote:

JT> On Sat, May 09, 2009 at 08:31:15PM +0200, Lothar Scholz wrote:
>> Thanks for solving the posix semaphore problem. But with shared memory
>> there comes the next issue:

>> int main() {
>>   int m;
>>   shm_unlink("/barfoo");
>>   m = shm_open("/barfoo", O_RDWR|O_CREAT|O_EXCL, S_IRWXU);
>>   if (m == 1) perror("shm_open error");
>> }

>> i always get permission denied error, and i tried many values
>> for flags and mode? I can only get this working as root but not
>> as a normal user.

JT> shm_open/shm_unlink refer to the filesystem; they are fairly direct
JT> wrappers around open and unlink.

Question is where are they stored?
In Linux it is "/dev/shm".

In my case it looks like the directory for shm_open files has some
wrong access rights so that a normal user can't generate it.

JT> POSIX suggests making the pathname a configuration option;
JT> alternatively, using a directory for temporary files such as /tmp could
JT> work.

I will try this hack  soon if nobody comes up with a solution.


-- 
Best regards,
 Lothar Scholz                mailto:scholz@scriptolutions.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19461540.20090510064924>