qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Ross (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (QPID-4635) C++ Broker headerExchange misuses CopyOnWriteArray
Date Tue, 20 Aug 2013 19:57:52 GMT

     [ https://issues.apache.org/jira/browse/QPID-4635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Justin Ross closed QPID-4635.
-----------------------------

    
> 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message