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