diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-21 07:04:55 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-21 07:04:55 +0100 |
| commit | b3a3d43d84d7987ffa201218169824090334f553 (patch) | |
| tree | 6c9b81aadf83b3104286e030cbe39a0dd2715e63 /src | |
| parent | c674f807ee154d331b3c496aea3e5788ecb04203 (diff) | |
| parent | 5e1a01349a8e2ba636938ad5424c40cc45a6240f (diff) | |
| download | rabbitmq-server-git-b3a3d43d84d7987ffa201218169824090334f553.tar.gz | |
merge default into bug21673
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_access_control.erl | 10 | ||||
| -rw-r--r-- | src/rabbit_amqqueue.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_backing_queue.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_dialyzer.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_exchange.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_exchange_type_topic.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_invariable_queue.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_misc.erl | 2 | ||||
| -rw-r--r-- | src/rabbit_multi.erl | 6 | ||||
| -rw-r--r-- | src/rabbit_variable_queue.erl | 4 |
10 files changed, 26 insertions, 18 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl index 30bae25e5a..3aaf59281e 100644 --- a/src/rabbit_access_control.erl +++ b/src/rabbit_access_control.erl @@ -177,11 +177,9 @@ check_resource_access(Username, <<"">> -> <<$^, $$>>; RE -> RE end, - case regexp:match( - binary_to_list(Name), - binary_to_list(PermRegexp)) of - {match, _, _} -> true; - nomatch -> false + case re:run(Name, PermRegexp, [{capture, none}]) of + match -> true; + nomatch -> false end end, if Res -> ok; @@ -306,7 +304,7 @@ list_vhosts() -> validate_regexp(RegexpBin) -> Regexp = binary_to_list(RegexpBin), - case regexp:parse(Regexp) of + case re:compile(Regexp) of {ok, _} -> ok; {error, Reason} -> throw({error, {invalid_regexp, Regexp, Reason}}) end. diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index e5faef5416..df9474439f 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -167,7 +167,9 @@ start() -> stop() -> ok = supervisor:terminate_child(rabbit_sup, rabbit_amqqueue_sup), - ok = supervisor:delete_child(rabbit_sup, rabbit_amqqueue_sup). + ok = supervisor:delete_child(rabbit_sup, rabbit_amqqueue_sup), + {ok, BQ} = application:get_env(rabbit, backing_queue_module), + ok = BQ:stop(). find_durable_queues() -> Node = node(), diff --git a/src/rabbit_backing_queue.erl b/src/rabbit_backing_queue.erl index b76ae11ebc..2230c507e9 100644 --- a/src/rabbit_backing_queue.erl +++ b/src/rabbit_backing_queue.erl @@ -42,6 +42,11 @@ behaviour_info(callbacks) -> %% shared resources. {start, 1}, + %% Called to tear down any state/resources. NB: Implementations + %% should not depend on this function being called on shutdown + %% and instead should hook into the rabbit supervision hierarchy. + {stop, 0}, + %% Initialise the backing queue and its state. {init, 3}, diff --git a/src/rabbit_dialyzer.erl b/src/rabbit_dialyzer.erl index 0ec6beb676..51bd6b1f93 100644 --- a/src/rabbit_dialyzer.erl +++ b/src/rabbit_dialyzer.erl @@ -56,7 +56,7 @@ create_basic_plt(BasicPltPath) -> ok. add_to_plt(PltPath, FilesString) -> - {ok, Files} = regexp:split(FilesString, " "), + Files = string:tokens(FilesString, " "), DialyzerWarnings = dialyzer:run([{analysis_type, plt_add}, {init_plt, PltPath}, {output_plt, PltPath}, @@ -65,7 +65,7 @@ add_to_plt(PltPath, FilesString) -> ok. dialyze_files(PltPath, ModifiedFiles) -> - {ok, Files} = regexp:split(ModifiedFiles, " "), + Files = string:tokens(ModifiedFiles, " "), DialyzerWarnings = dialyzer:run([{init_plt, PltPath}, {files, Files}]), case DialyzerWarnings of diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index d91ebe9ba9..f04341628c 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -49,7 +49,6 @@ -import(mnesia). -import(sets). -import(lists). --import(regexp). %%---------------------------------------------------------------------------- diff --git a/src/rabbit_exchange_type_topic.erl b/src/rabbit_exchange_type_topic.erl index a374cfee7f..89b2441e38 100644 --- a/src/rabbit_exchange_type_topic.erl +++ b/src/rabbit_exchange_type_topic.erl @@ -67,8 +67,7 @@ publish(#exchange{name = Name}, Delivery = Delivery). split_topic_key(Key) -> - {ok, KeySplit} = regexp:split(binary_to_list(Key), "\\."), - KeySplit. + re:split(Key, "\\.", [{return, list}]). topic_matches(PatternKey, RoutingKey) -> P = split_topic_key(PatternKey), diff --git a/src/rabbit_invariable_queue.erl b/src/rabbit_invariable_queue.erl index cf8bc8f77e..4e0dad8422 100644 --- a/src/rabbit_invariable_queue.erl +++ b/src/rabbit_invariable_queue.erl @@ -37,7 +37,7 @@ set_ram_duration_target/2, ram_duration/1, needs_idle_timeout/1, idle_timeout/1, handle_pre_hibernate/1, status/1]). --export([start/1]). +-export([start/1, stop/0]). -behaviour(rabbit_backing_queue). @@ -61,6 +61,9 @@ start(DurableQueues) -> ok = rabbit_sup:start_child(rabbit_persister, [DurableQueues]). +stop() -> + ok = rabbit_sup:stop_child(rabbit_persister). + init(QName, IsDurable, Recover) -> Q = queue:from_list(case IsDurable andalso Recover of true -> rabbit_persister:queue_content(QName); diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index fcc9fc7e54..9ed106d6fa 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -585,7 +585,7 @@ string_to_pid(Str) -> binary_to_term(<<131,103,NodeEnc/binary,Id:32,Ser:32,0:8>>); nomatch -> throw(Err) - end. + end. version_compare(A, B, lte) -> case version_compare(A, B) of diff --git a/src/rabbit_multi.erl b/src/rabbit_multi.erl index 5db1d77a32..3facef17f7 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -309,9 +309,9 @@ is_dead(Pid) -> {win32, fun () -> Res = os:cmd("tasklist /nh /fi \"pid eq " ++ PidS ++ "\""), - case regexp:first_match(Res, "erl.exe") of - {match, _, _} -> false; - _ -> true + case re:run(Res, "erl\\.exe", [{capture, none}]) of + match -> false; + _ -> true end end}]). diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 5a53e2bdbf..0609495025 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -39,7 +39,7 @@ needs_idle_timeout/1, idle_timeout/1, handle_pre_hibernate/1, status/1]). --export([start/1]). +-export([start/1, stop/0]). %% exported for testing only -export([start_msg_store/2, stop_msg_store/0]). @@ -355,6 +355,8 @@ start(DurableQueues) -> end], StartFunState). +stop() -> stop_msg_store(). + start_msg_store(Refs, StartFunState) -> ok = rabbit_sup:start_child(?TRANSIENT_MSG_STORE, rabbit_msg_store, [?TRANSIENT_MSG_STORE, rabbit_mnesia:dir(), |
