OpenStack library for messaging
Go to file
Mark McLoughlin aebe53f242 Fix race-condition in rabbit reply processing
Concurrency. Sigh.

A sequence of events like this is possible:

  - We send a request from thread A
  - Thread B, who is waiting for a response gets scheduled
  - Thread B receives our response and queues it up
  - Thread B receives its own response and drops the connection lock
  - Thread A grabs the connection lock and wait for a response to arrive

The obvious solution is that when we grab the connection lock, we should
check whether a previous lock-holding thread had already received our
response and queued it up.

Change-Id: I88b0d55d5a40814a84d82ed4f42d5ba85d2ef7e0
2013-08-26 12:47:04 +01:00
doc/source Remove ConfFixture from toplevel public API 2013-08-17 17:49:23 +01:00
oslo Fix race-condition in rabbit reply processing 2013-08-26 12:47:04 +01:00
tests Fix race-condition in rabbit reply processing 2013-08-26 12:47:04 +01:00
.gitignore Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
.gitreview Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
.testr.conf Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
CONTRIBUTING.rst Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
LICENSE Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
MANIFEST.in Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
openstack-common.conf Add missing gettextutils 2013-07-27 15:49:48 +01:00
README.rst Add oslo.messaging project infrastructure 2013-06-15 08:43:50 +01:00
requirements.txt Remove ConfFixture from toplevel public API 2013-08-17 17:49:23 +01:00
setup.cfg Ensure namespace package is installed 2013-08-12 14:35:33 +01:00
setup.py Ensure namespace package is installed 2013-08-12 14:35:33 +01:00
test-requirements.txt Merge "Bumps hacking to 0.7.0" 2013-08-17 17:10:26 +00:00
tox.ini Simplify public symbol exports 2013-06-24 12:52:30 +01:00

Oslo Messaging Library

The Oslo messaging API supports RPC and notifications over a number of different messsaging transports.