diff options
author | Hans Bolinder <[email protected]> | 2018-05-16 15:13:25 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2018-05-16 15:13:25 +0200 |
commit | 455fde56f533bd80d1a9d37058c3381521e201ba (patch) | |
tree | ca067697a333f39ec589535e13ae2852e949cd8c /lib/stdlib/src/slave.erl | |
parent | 84e655feccb4780b8db17a42549b35ded03baf1a (diff) | |
parent | 275f51a34c1c2d9c4d31dad918a7a3b5c3631313 (diff) | |
download | otp-455fde56f533bd80d1a9d37058c3381521e201ba.tar.gz otp-455fde56f533bd80d1a9d37058c3381521e201ba.tar.bz2 otp-455fde56f533bd80d1a9d37058c3381521e201ba.zip |
Merge branch 'richcarl/eliminate_lib_module/PR-1786/OTP-15072'
* richcarl/eliminate_lib_module/PR-1786/OTP-15072:
Fix minor issues
Eliminate call to ct:get_progname() in ts_erl_config
Use \n escape instead of integer 10
Move error formatting to erl_error.erl and delete lib.erl
Move extended parse functions in lib.erl to erl_eval.erl
Move lib:eval_str/1 into mod_esi.erl
Remove lib:progname/0
Eliminate call to lib:progname/1 in slave.erl
Add ct:get_progname/0
Remove lib:error_message/2
Remove lib:flush_receive/0
Remove lib:send/2 and lib:sendw/2
Move lib:nonl/1 into yecc.erl
Diffstat (limited to 'lib/stdlib/src/slave.erl')
-rw-r--r-- | lib/stdlib/src/slave.erl | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/stdlib/src/slave.erl b/lib/stdlib/src/slave.erl index b3f3206d67..37c1f6bfd9 100644 --- a/lib/stdlib/src/slave.erl +++ b/lib/stdlib/src/slave.erl @@ -187,7 +187,7 @@ start_link(Host, Name, Args) -> start(Host, Name, Args, self()). start(Host0, Name, Args, LinkTo) -> - Prog = lib:progname(), + Prog = progname(), start(Host0, Name, Args, LinkTo, Prog). start(Host0, Name, Args, LinkTo, Prog) -> @@ -296,7 +296,6 @@ mk_cmd(Host, Name, Args, Waiter, Prog0) -> " -s slave slave_start ", node(), " ", Waiter, " ", Args]), - case after_char($@, atom_to_list(node())) of Host -> {ok, BasicCmd}; @@ -309,6 +308,15 @@ mk_cmd(Host, Name, Args, Waiter, Prog0) -> end end. +%% Return the name of the script that starts (this) erlang +progname() -> + case init:get_argument(progname) of + {ok, [[Prog]]} -> + Prog; + _Other -> + "no_prog_name" + end. + %% This is an attempt to distinguish between spaces in the program %% path and spaces that separate arguments. The program is quoted to %% allow spaces in the path. @@ -317,7 +325,7 @@ mk_cmd(Host, Name, Args, Waiter, Prog0) -> %% (through start/5) or if the -program switch to beam is used and %% includes arguments (typically done by cerl in OTP test environment %% in order to ensure that slave/peer nodes are started with the same -%% emulator and flags as the test node. The return from lib:progname() +%% emulator and flags as the test node. The result from progname() %% could then typically be '/<full_path_to>/cerl -gcov'). quote_progname(Progname) -> do_quote_progname(string:lexemes(to_list(Progname)," ")). |