Mehdi Abaakouk 0dafde9407 Ensures that some assumptions are true.
It's documented, the application consumer must not use wait before stop.
but this is not enforced, so enforce it

Also the code assume start/stop/wait are called from the same thread,
but this is not enforced, so enforce it.

A common broken usage is:

    server = oslo.messaging.get_rpc_server(..., executor='eventlet')
    t = threading.Thread(target=server.start)
    t.daemon = True
    t.start()
    ...foobar code...
    server.stop()
    server.wait()

With monkey patching, start() will do a context switch and then stop()
is called but start is unfinished, that can cause unexpected behavior.

This patch fixes these issues by making all of this explicit.

Closes-bug: #1465850
Closes-bug: #1466001

Change-Id: I0fc1717e3118bc1cd7b9cd0ccc072251cfb2c038
2015-07-30 07:35:06 +02:00
2014-01-15 04:08:18 +00:00
2015-03-12 16:38:51 -07:00
2014-06-05 22:48:44 +02:00
2015-07-01 11:46:34 +00:00
2015-07-16 17:47:16 +00:00
2015-07-15 20:44:52 +00:00
2015-07-13 21:12:35 +00:00

Oslo Messaging Library

Latest Version

Downloads

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

Description
OpenStack library for messaging
Readme 36 MiB
Languages
Python 99.8%
Shell 0.2%