summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2007-08-25 15:31:30 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2007-08-25 15:31:30 +0000
commit5b50b4844df295d8980de60580b2ee39f59abfe8 (patch)
treef1fa3f3412b4626d41dd038cc44c77d2cfd1fb48 /qpid/cpp/rubygen
parent925a9d6f66e180f168c0e36413568f1cfa414d65 (diff)
downloadqpid-python-5b50b4844df295d8980de60580b2ee39f59abfe8.tar.gz
I provided a fixed to the deadlock issue in MessageConsumerImpl.
Here is the deadlock issue --------------------------- The internal receive thread acquires the _incomingMessageLock and blocks on sync() The MINA thread gets on to onMessage() and blocks while trying to acquire the incomingMessageLock Since the MINA thread doesn't return it can't process the execution.complete() sent by the broker. Since the execution.complete doesn't get processed, the sync() doesn't return. Hence the deadlock. Solution ---------- I rewrote the receive logic using a LinkedBlockingQueue and leveraging the application thread that calls receive methods git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@569688 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen')
0 files changed, 0 insertions, 0 deletions