diff options
author | Tim Watson <watson.timothy@gmail.com> | 2014-04-08 13:55:36 +0100 |
---|---|---|
committer | Tim Watson <watson.timothy@gmail.com> | 2014-04-08 13:55:36 +0100 |
commit | 021819d55ad25b563bdb75ade2c796a756ea4ebb (patch) | |
tree | 256e0823028debc2290b05f3886463356c0580d5 /src/rabbit.erl | |
parent | c2ad129d241492576f039419e83dcc53ed4f0f5c (diff) | |
download | rabbitmq-server-021819d55ad25b563bdb75ade2c796a756ea4ebb.tar.gz |
Fix management extension enable/disable handling
When notifying about 'enabled' plugins, limit to explicitly given.
When handling 'disabled' plugins, call the event handler(s)
synchronously (while we still have loaded modules) prior to stopping
and unloading any apps.
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r-- | src/rabbit.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 6c08520f..8a682616 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -210,6 +210,7 @@ %% this really should be an abstract type -type(log_location() :: 'tty' | 'undefined' | file:filename()). -type(param() :: atom()). +-type(app_name() :: atom()). -spec(start/0 :: () -> 'ok'). -spec(boot/0 :: () -> 'ok'). @@ -241,6 +242,8 @@ -spec(maybe_insert_default_data/0 :: () -> 'ok'). -spec(boot_delegate/0 :: () -> 'ok'). -spec(recover/0 :: () -> 'ok'). +-spec(start_apps/1 :: ([app_name()]) -> 'ok'). +-spec(stop_apps/1 :: ([app_name()]) -> 'ok'). -endif. @@ -350,8 +353,7 @@ start_apps(Apps) -> _ -> ok end, ok = app_utils:start_applications(StartupApps, - handle_app_error(could_not_start)), - StartupApps. + handle_app_error(could_not_start)). start_it(StartFun) -> Marker = spawn_link(fun() -> receive stop -> ok end end), |