diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-19 15:24:06 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-19 15:24:06 +0100 |
| commit | 8d489ef9a3fd1861ca32ce90ff37caa0a6e0d3b1 (patch) | |
| tree | a741f34070fa529cdd821726d5c192e8a875c067 | |
| parent | 1bfc20d996018627c5d3a4d1f536d512590c2a99 (diff) | |
| parent | 89d63aa6763a95e85c5afb8b587c693871fe3afb (diff) | |
| download | rabbitmq-server-git-8d489ef9a3fd1861ca32ce90ff37caa0a6e0d3b1.tar.gz | |
merge default into bug21673
| -rw-r--r-- | src/rabbit_amqqueue.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_sup.erl | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 635d8ec0b5..e5faef5416 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -31,7 +31,7 @@ -module(rabbit_amqqueue). --export([start/0, declare/5, delete/3, purge/1]). +-export([start/0, stop/0, declare/5, delete/3, purge/1]). -export([internal_declare/2, internal_delete/1, maybe_run_queue_via_backing_queue/2, update_ram_duration/1, set_ram_duration_target/2, @@ -71,6 +71,7 @@ 'ok' | {'error', [{'error' | 'exit' | 'throw', any()}]}). -spec(start/0 :: () -> 'ok'). +-spec(stop/0 :: () -> 'ok'). -spec(declare/5 :: (name(), boolean(), boolean(), rabbit_framing:amqp_table(), rabbit_types:maybe(pid())) @@ -164,6 +165,10 @@ start() -> _RealDurableQueues = recover_durable_queues(DurableQueues), ok. +stop() -> + ok = supervisor:terminate_child(rabbit_sup, rabbit_amqqueue_sup), + ok = supervisor:delete_child(rabbit_sup, rabbit_amqqueue_sup). + find_durable_queues() -> Node = node(), %% TODO: use dirty ops instead diff --git a/src/rabbit_sup.erl b/src/rabbit_sup.erl index 2c5e51125e..97613d17a5 100644 --- a/src/rabbit_sup.erl +++ b/src/rabbit_sup.erl @@ -34,7 +34,7 @@ -behaviour(supervisor). -export([start_link/0, start_child/1, start_child/2, start_child/3, - start_restartable_child/1, start_restartable_child/2]). + start_restartable_child/1, start_restartable_child/2, stop_child/1]). -export([init/1]). @@ -69,5 +69,11 @@ start_restartable_child(Mod, Args) -> transient, infinity, supervisor, [rabbit_restartable_sup]}), ok. +stop_child(ChildId) -> + case supervisor:terminate_child(?SERVER, ChildId) of + ok -> supervisor:delete_child(?SERVER, ChildId); + E -> E + end. + init([]) -> {ok, {{one_for_all, 0, 1}, []}}. |
