diff options
author | Viacheslav V. Kovalev <kovyl2404@gmail.com> | 2015-01-10 14:31:28 +0300 |
---|---|---|
committer | Björn-Egil Dahlberg <egil@erlang.org> | 2015-03-18 15:35:15 +0100 |
commit | e36017157ee5d8d7f50a769a2ecfce4ece1eea64 (patch) | |
tree | 732cc9862a83819ceb7d9d085b15202cea50a723 | |
parent | 5f5aa9ef75e21d7351d489bc8e28697cbb23219a (diff) | |
download | otp-e36017157ee5d8d7f50a769a2ecfce4ece1eea64.tar.gz otp-e36017157ee5d8d7f50a769a2ecfce4ece1eea64.tar.bz2 otp-e36017157ee5d8d7f50a769a2ecfce4ece1eea64.zip |
Handle big loadavg values correctly
Do not crash with badmatch when integer part of loadavg has more than 2
digits.
-rw-r--r-- | lib/os_mon/src/cpu_sup.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/os_mon/src/cpu_sup.erl b/lib/os_mon/src/cpu_sup.erl index 1f088ecbde..66e7973e7e 100644 --- a/lib/os_mon/src/cpu_sup.erl +++ b/lib/os_mon/src/cpu_sup.erl @@ -221,7 +221,7 @@ get_uint32_measurement(Request, #internal{port = P, os_type = {unix, sunos}}) -> port_server_call(P, Request); get_uint32_measurement(Request, #internal{os_type = {unix, linux}}) -> {ok,F} = file:open("/proc/loadavg",[read,raw]), - {ok,D} = file:read(F,24), + {ok,D} = file:read_line(F), ok = file:close(F), {ok,[Load1,Load5,Load15,_PRun,PTotal],_} = io_lib:fread("~f ~f ~f ~d/~d", D), case Request of |