diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-07-20 18:06:02 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-07-20 18:06:02 +0100 |
commit | a5280c3a64dad7e7458bfd0b3a0f262cbf6ddaee (patch) | |
tree | 08e95d42672c2ec9ad508d2345250a42f1e793ce | |
parent | dd720bd4e5323917d3d1c487de459418c37026a4 (diff) | |
download | rabbitmq-server-a5280c3a64dad7e7458bfd0b3a0f262cbf6ddaee.tar.gz |
refactor
-rw-r--r-- | src/rabbit_mnesia.erl | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 3f5bc134..d642d17a 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -318,24 +318,24 @@ ensure_mnesia_dir() -> ensure_mnesia_running() -> case mnesia:system_info(is_running) of yes -> ok; - no -> throw({error, mnesia_not_running}); - Reason when Reason =:= starting; Reason =:= stopping -> - wait_and_try_again(ensure_mnesia_running, []) + starting -> waiting_for(mnesia_running), + ensure_mnesia_running(); + Reason when Reason =:= no; Reason =:= stopping -> + throw({error, mnesia_not_running}) end. ensure_mnesia_not_running() -> case mnesia:system_info(is_running) of no -> ok; - yes -> throw({error, mnesia_unexpectedly_running}); - Reason when Reason =:= starting; Reason =:= stopping -> - wait_and_try_again(ensure_mnesia_not_running, []) + stopping -> waiting_for(mnesia_not_running), + ensure_mnesia_not_running(); + Reason when Reason =:= yes; Reason =:= starting -> + throw({error, mnesia_unexpectedly_running}) end. -wait_and_try_again(Fun, Args) -> - receive - after 1000 -> error_logger:info_msg("trying to ~p again~n", [Fun, Args]), - apply(Fun, Args) - end. +waiting_for(Condition) -> + error_logger:info_msg("Waiting for ~p...~n", [Condition]), + timer:sleep(1000). ensure_schema_integrity() -> case check_schema_integrity() of @@ -615,7 +615,8 @@ new_backup_dir_name(MnesiaDir) -> Year, Month, Day, Hour, Minute, Second])), case filelib:is_file(BackupDir) of false -> BackupDir; - true -> wait_and_try_again(new_backup_dir_name, [MnesiaDir]) + true -> waiting_for(new_backup_dir_name), + new_backup_dir_name(MnesiaDir) end. copy_db(Destination) -> |