|
Boost Users : |
Subject: [Boost-users] Problem with boost::interprocess::ipc::message_queue
From: Ming Lu (ming.lu_at_[hidden])
Date: 2011-04-01 03:57:24
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
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