summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2012-06-01 16:07:30 +0100
committerTim Watson <tim@rabbitmq.com>2012-06-01 16:07:30 +0100
commit5f3b10ba554ca65b7098cb1abfd8f40f317a8a97 (patch)
treebd0cd379d9473ba6fd8fec5e7b7bae59c9acef12
parente22458b94d71ba19d7ab81565102ad1a70875650 (diff)
parentaa71048b52a74810b3bc95ca1fd94b49833a6181 (diff)
downloadrabbitmq-server-5f3b10ba554ca65b7098cb1abfd8f40f317a8a97.tar.gz
merge tip
-rw-r--r--src/rabbit_control_main.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl
index f8b8c345..29408006 100644
--- a/src/rabbit_control_main.erl
+++ b/src/rabbit_control_main.erl
@@ -490,8 +490,12 @@ wait_for_process_death(Pid) ->
read_pid_file(PidFile, Wait) ->
case {file:read_file(PidFile), Wait} of
{{ok, Bin}, _} ->
- S = re:replace(Bin, "\\s", "", [global, {return, list}]),
- try list_to_integer(S)
+ S = binary_to_list(Bin),
+ Spid = case string:words(S) > 1 of
+ true -> string:sub_word(S, 1);
+ false -> string:strip(binary_to_list(Bin), right, $\n)
+ end,
+ try list_to_integer(Spid)
catch error:badarg ->
exit({error, {garbage_in_pid_file, PidFile}})
end,