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