-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/10704/#review19736
-----------------------------------------------------------


I don't see anything wrong but on fetchImpl I'm not familiar enough with the 
code to be sure if it is safe.


/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp
<https://reviews.apache.org/r/10704/#comment40727>

    It's not immediately obvious that this is safe - could there be code that 
depends on the 3 actions (release, cancel, receiverCancelled) be atomic? In 
other words is the fetchImpl in a valid state at each unlock, and can all other 
concurrent functions safely be called during the unlocks? 


- Alan Conway


On April 22, 2013, 3:52 p.m., Gordon Sim wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/10704/
> -----------------------------------------------------------
> 
> (Updated April 22, 2013, 3:52 p.m.)
> 
> 
> Review request for qpid and Alan Conway.
> 
> 
> Description
> -------
> 
> The changes involve:
> 
> (1) removing the unnecessary lock from ReceiverImpl::getName() since the 
> destination member variable is const
> 
> (2) removing the lock from the two forms of SessionImpl:acknowledgeImpl() 
> since the transactional member is const and IncomingMessages::accept() does 
> its own locking
> 
> (3) releasing the lock while calling back from ReceiverImpl to SessionImpl in 
> ReceiverImpl::close()
> 
> These help break the possible deadlock.
> 
> 
> This addresses bug QPID-4764.
>     https://issues.apache.org/jira/browse/QPID-4764
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp 1470466 
>   /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp 1470466 
> 
> Diff: https://reviews.apache.org/r/10704/diff/
> 
> 
> Testing
> -------
> 
> make check passes (I couldn't reproduce the deadlock).
> 
> 
> Thanks,
> 
> Gordon Sim
> 
>

Reply via email to