[
https://issues.apache.org/jira/browse/QPID-4635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chuck Rolke resolved QPID-4635.
-------------------------------
Resolution: Not A Problem
> C++ Broker headerExchange misuses CopyOnWriteArray
> --------------------------------------------------
>
> Key: QPID-4635
> URL: https://issues.apache.org/jira/browse/QPID-4635
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Affects Versions: 0.20
> Reporter: Chuck Rolke
>
> Current usage of CopyOnWriteArray (COWA) is:
> DirectExchange.h: typedef CopyOnWriteArray<Binding::shared_ptr> Queues;
> FanOutExchange.h: typedef CopyOnWriteArray<Binding::shared_ptr>
> BindingsArray;
> HeadersExchange.h: typedef qpid::sys::CopyOnWriteArray<BoundKey> Bindings;
> Direct and FanOut exchanges keep share_ptrs in the array but Headers puts an
> actual object.
> This is NOT an issue for the route() function that takes a snapshot of the
> array since the snapshot returns a shared_ptr to the array.
> It is probably an issue when COWA adds or removes an element from the kept
> array and copies of the array are made with no effort to delete the copied
> objects that are going out of scope.
> If nothing else certain COWA functions require an operator== function for the
> HeadersExchange BoundKey that the other exchanges do not require.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]