diff options
author | Lukas Larsson <[email protected]> | 2012-01-25 14:50:48 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2012-01-25 14:50:48 +0100 |
commit | 92b5a1ad679dec79ae40cee4a144f6da614433e1 (patch) | |
tree | 848b3973460a3bbfd6acb12e8c3689e9a81562d4 /lib/os_mon/src/os_mon.erl | |
parent | 1436244c50e214c3de656c52022881bc8a27ca37 (diff) | |
parent | 8b129dda86fe28b943180153561423bbb7957582 (diff) | |
download | otp-92b5a1ad679dec79ae40cee4a144f6da614433e1.tar.gz otp-92b5a1ad679dec79ae40cee4a144f6da614433e1.tar.bz2 otp-92b5a1ad679dec79ae40cee4a144f6da614433e1.zip |
Merge branch 'maint'
* maint:
Look for port in priv/bin/arch/ as well as priv/bin/
Fix on_load handling in modules loaded by code:load_binary/3
Diffstat (limited to 'lib/os_mon/src/os_mon.erl')
-rw-r--r-- | lib/os_mon/src/os_mon.erl | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/os_mon/src/os_mon.erl b/lib/os_mon/src/os_mon.erl index ef368571db..3098c38808 100644 --- a/lib/os_mon/src/os_mon.erl +++ b/lib/os_mon/src/os_mon.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. +%% Copyright Ericsson AB 1996-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -22,7 +22,7 @@ -behaviour(supervisor). %% API --export([call/2, call/3, get_env/2]). +-export([call/2, call/3, get_env/2, open_port/2]). %% Application callbacks -export([start/2, stop/1]). @@ -79,6 +79,22 @@ get_env(Service, Param) -> Service:param_default(Param) end. +open_port(Name, Opts) -> + PrivDir = code:priv_dir(os_mon), + ReleasedPath = filename:join([PrivDir,"bin",Name]), + %% Check os_mon*/priv/bin/Name + case filelib:is_regular(ReleasedPath) of + true -> + erlang:open_port({spawn, ReleasedPath}, Opts); + false -> + %% Use os_mon*/priv/bin/Arch/Name + ArchPath = + filename:join( + [PrivDir,"bin",erlang:system_info(system_architecture),Name]), + erlang:open_port({spawn, ArchPath}, Opts) + end. + + %%%----------------------------------------------------------------- %%% Application callbacks %%%----------------------------------------------------------------- |