Hello Everybody,

i used boost::interprocess::ipc::message_queue (boost 1.40) in my project. it works perfect. after upgrade from boost 1.40.0 to 1.46.0 i do have a problem with the message_queue.

my usage of message_queue:

Receiver:
         message_queue message_queue(open_or_create, strQueueName.c_str(), nMessagesNumber, nMessageLength);
         ....
        
         bReceiveSucces = message_queue.try_receive(pchPuffer, m_nMessageLength, nRecievedSize, nPriority);


Sender:
        message_queue message_queue(open_only, m_strMessageQueueName.c_str());
        message_queue.try_send(strMessage.c_str(), nMessageLength, nPriority);

(the Receiver is running before Sender has be started.)

i readed the content in the output windows from Visual Studio 2008 (my building envoriment) during start of my application:

1.40.0:

'MessageQueueReceiver.exe': Loaded 'C:\data\20_NoBackup\Project\MessageQueueSender\Debug\MessageQueueReceiver.exe', Symbols loaded.
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\secur32.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll', Symbols loaded.
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll', Symbols loaded.
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\shimeng.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\shimeng.dll'
the receiver-application loaded these dlls and waiting for the input message from the sender-application..

1.46.0:
MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\wbem\wbemprox.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\wbem\wbemcomn.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\wbem\wbemsvc.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\wbem\fastprox.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\msvcp60.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\ntdsapi.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\dnsapi.dll'
'MessageQueueReceiver.exe': Loaded 'C:\WINDOWS\system32\wldap32.dll', Symbols loaded (source information stripped).
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\wbem\fastprox.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\ntdsapi.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\wldap32.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\dnsapi.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\msvcp60.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemsvc.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemprox.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\ws2_32.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\ws2help.dll'
'MessageQueueReceiver.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemcomn.dll'
......................
......................
......................
the receiver-application loaded these complettly different Dlls (in compare with 1.40) and unloaded them repeatly (endless).

if man compare the cruise of the message_queue, is 1.46.0 about 4 times slower as 1.40.0.

do somebody know? is it a bug or just the sideeffect from the changement? how can i use the message_queue correctly?

thanks a lot for any suggestion

best regards
Ming Lu