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