summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-05-25 14:47:34 +0100
committerEmile Joubert <emile@rabbitmq.com>2012-05-25 14:47:34 +0100
commita843e83d4f626a39894f5ba9768a0761df1a0f90 (patch)
treecdb9355cdb3ded3f82047d5cedc576eb56fef2ae
parent9a820db4f33bf599c25d3de4803f8076f67a6b02 (diff)
downloadrabbitmq-server-a843e83d4f626a39894f5ba9768a0761df1a0f90.tar.gz
Parse disk free space in a language-independent manner
-rw-r--r--src/rabbit_disk_monitor.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rabbit_disk_monitor.erl b/src/rabbit_disk_monitor.erl
index b1750b61..f3a553b4 100644
--- a/src/rabbit_disk_monitor.erl
+++ b/src/rabbit_disk_monitor.erl
@@ -178,8 +178,10 @@ parse_free_unix(CommandResult) ->
parse_free_win32(CommandResult) ->
LastLine = lists:last(string:tokens(CommandResult, "\r\n")),
- [_, _Dir, Free, "bytes", "free"] = string:tokens(LastLine, " "),
- list_to_integer(Free).
+ {ok, Digits} = re:compile("([0-9]+)"),
+ {match,[Free]} =
+ re:run(lists:reverse(LastLine), Digits, [{capture, all_but_first, list}]),
+ list_to_integer(lists:reverse(Free)).
interpret_limit({mem_relative, R}) ->
round(R * vm_memory_monitor:get_total_memory());