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 | b60edf56efcd481f6876427fe6410a0bef727d4a (patch) | |
| tree | 08e95d42672c2ec9ad508d2345250a42f1e793ce | |
| parent | 3fb8ecc4b6f93884d6b2c396d2984887048f3c37 (diff) | |
| download | rabbitmq-server-git-b60edf56efcd481f6876427fe6410a0bef727d4a.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 3f5bc13439..d642d17a1c 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) -> |
