[ 
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]

Reply via email to