Boost logo

Boost Users :

Subject: [Boost-users] [interprocess] error sending message
From: Ian Esten (ianesten_at_[hidden])
Date: 2012-10-07 23:06:05


Hi all,

I've got a problem using boost::interprocess::memory_queue on Windows -
when trying to call send(), I get a null pointer returned by free_msg. This
is because there is an offset_ptr with an offset of 1 at the requested
location, causing null to be returned. An exception is then thrown with the
message "boost::interprocess::message_queue corrupted".

Here is a brief summary of my two applications:

Application 1:
- a Windows service
- creates two message queues, messagesToApplication and messagesToService
- creates a thread that waits for messages in messagesToService

Application 2:
- a Windows application
- opens the two message queues, with open_only.
- tries to send a message to Application 1, the Windows service after it
opens the message queues.

Everything works right up until application 2 tries to send a message via
messagesToService. I haven't yet been able to identify why the offset_ptr
has an offset of 1.

If anybody has any suggestions as to what I might be doing wrong, I'd very
much appreciate it!

Thanks,
Ian



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net