+++ This bug was initially created as a clone of Bug #456991 +++ The C++ client consumes 100% of the CPU (one core on multi-core systems) even when idle, waiting for messages on a subscription. To reproduce, simply run the "listener" program in the C++ "direct" example (you will need to run "declare-queues" first). While the program waits for incoming messages, measure the CPU usage of the "lt-listener" process. Note that this problem only appears to occur on 32-bit architectures. --- Additional comment from gsim on 2008-07-29 08:30:36 EDT --- I believe this is a result of the fact that Condition::wait(FAR_FUTURE) returns immediately with ETIMEDOUT. --- Additional comment from gsim on 2008-07-29 09:50:31 EDT --- Fixed on qpid.0-10 by r680695 and on trunk by r680691.
There is now RHTS automated test MRG_Messaging/qpid_cpp_client_load_bz456991 which shows that bug has been fixed. (ON_QA->VERIFIED)
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0867.html