This describes the start_erl
program specific to Windows
NT. Although there exists programs with the same name on other
platforms, their functionality is not the same.
The start_erl
program is distributed both in compiled
form (under <Erlang root>\erts-<version>\bin) and
in source form (under <Erlang
root>\erts-<version>\src).
The purpose of the source code is to make it possible to easily
customize the program for local needs, such as cyclic restart
detection etc. There is also a "make"-file, written for the
nmake
program distributed with Microsoft® Visual
C++®. The program can however be compiled with
any Win32 C compiler (possibly with slight modifications).
The purpose of the program is to aid release handling on
Windows NT®. The program should be called by the
erlsrv
program, read up the release data file
start_erl.data and start Erlang. Certain options to start_erl
are added and removed by the release handler during upgrade with
emulator restart (more specifically the -data
option).
start_erl [<erl options>] ++ [<start_erl options>]
The start_erl
program in it's original form
recognizes the following options:
++
is interpreted as options to be sent to the
erl
program. Everything after ++
is
interpreted as options to start_erl
itself.
RELDIR
is not
specified. Tells start_erl where the root of the
release tree is placed in the file-system
(like <Erlang root>\releases). The
start_erl.data
file is expected to be placed in
this directory (if not otherwise specified).
.boot
file etc. are placed).
The contents of this file is appended to the command line
when Erlang is started. This makes it easy to start the
emulator with different options for different releases.
As the source code is distributed, it can easily be modified to
accept other options. The program must still accept the
-data
option with the semantics described above for the
release handler to work correctly.
The Erlang emulator is found by examining the registry keys for the emulator version specified in the release data file. The new emulator needs to be properly installed before the upgrade for this to work.
Although the program is located together with files specific to
emulator version, it is not expected to be specific to the
emulator version. The release handler does not change the
-machine
option to erlsrv
during emulator restart.
Place the (possibly customized) start_erl
program so that
it is not overwritten during upgrade.
The erlsrv
program's default options are not
sufficient for release handling. The machine erlsrv
starts should be specified as the start_erl
program and
the arguments should contain the ++
followed by desired
options.
erlsrv(1), release_handler(3)