Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

shared memory example

61 views
Skip to first unread message

Joe Van Dyk

unread,
Apr 4, 2005, 4:41:53 PM4/4/05
to
Can someone post a really small example of connecting to sysv shared
memory and accessing data there?

I'm trying to connect to some previously-created shmem and it's not
really working.

key = SystemVIPC.ftok("/tmp/key_file", 1)
shmem = SharedMemory.new(key)
p shmem.size

I get: "No such file or directory - shmget(2) (Errno::ENOENT)" when
trying to get shmem.

Thanks in advance,
Joe


Caleb Tennis

unread,
Apr 5, 2005, 8:09:06 AM4/5/05
to
On Monday 04 April 2005 03:41 pm, Joe Van Dyk wrote:
> key = SystemVIPC.ftok("/tmp/key_file", 1)
> shmem = SharedMemory.new(key)
> p shmem.size

Don't forget to shmem.attach.

You can use the (linux) command "ipcs" to take a look at existing shared
memory segments, and make sure you are indeed attaching to what you think you
are. You should also verify that the value of "key" matches up to the real
key value of the segment (again, using ipcs).

HTH,
Caleb


Joe Van Dyk

unread,
Apr 5, 2005, 9:31:40 PM4/5/05
to

It's failing on SharedMemory.new(key). I tried printing the key (with
puts key) and it's different than what ipcs is reporting as the id.


0 new messages