Bug 488806 - SubscriptionManager::get() closes dispatch queue unexpectedly
SubscriptionManager::get() closes dispatch queue unexpectedly
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
All Linux
high Severity medium
: 1.1.1
: ---
Assigned To: Gordon Sim
Frantisek Reznicek
Depends On:
  Show dependency treegraph
Reported: 2009-03-05 14:48 EST by Gordon Sim
Modified: 2015-11-15 19:06 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-04-21 12:18:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
reproducer (2.75 KB, text/x-c++src)
2009-03-05 14:48 EST, Gordon Sim
no flags Details

  None (edit)
Description Gordon Sim 2009-03-05 14:48:35 EST
Created attachment 334193 [details]

If SubscriptionManager::get() is invoked with no subscriptions in place, the dispatch queue is closed and a subsequent SubscriptionManager::run() returns without dispatching.

Attached reproducer is a modified versio of the direct examples listener. Use the declare_queues and direct_producer from that example to create the queue and publish some messages. Then run this modified listener.

The expected result is that the first message is pulled of, then the rest are received via the listener. However the initial get() is causing the dispatcher to close the dispatch queue even though dispatching has not yet begun. Therefore only the first message is printed (from the get()) and run returns immediately.
Comment 1 Gordon Sim 2009-03-05 17:06:08 EST
Fixed by r750622.
Comment 3 Frantisek Reznicek 2009-03-23 06:34:54 EDT
The issue has been fixed, validated on RHEL 4.7 / 5.2 / 5.3, i386 / x86_64 on packages: qpid*-0.5.752581-1.el5.

Comment 5 errata-xmlrpc 2009-04-21 12:18:00 EDT
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.


Note You need to log in before you can comment on or make changes to this bug.