Age | Commit message (Collapse) | Author |
|
|
|
* bjorn/test-environment-improvements/OTP-9297:
erlexec: Make ERL_<version>_FLAGS behave like ERL_AFLAGS
cerl: Fix several incompatibilities with 'erl'
Teach erlexec the -emu_name_exit option
cerl: Remove ancient obsolete options
|
|
* dc/improved_find_redist:
support new SDKs in find_redist.sh and fallback to $ERL_TOP as last resort
OTP-9287
|
|
The contents of the ERL_<version>_FLAGS undocumented environment
variable would be added at the end of the command line passed
to the BEAM emualator (similar to ERL_ZFLAGS), making it impossible
to override (for example) "-smp" with "-smp disable" on the command
line.
To allow overriding, put the contents of ERL_<version>_FLAGS at
the beginning of the command line (similar to ERL_AFLAGS).
Since the ERL_<version>_FLAGS variable is undocumented and
unsupported, it is OK to change its behaviour in a minor release.
|
|
Invoking 'cerl' like 'cerl -smp' would only start the smp emulator
if default was to start the non-smp emulator, otherwise 'erlexec'
would try to start 'beam.smp.smp'. Furthermore 'cerl -smp disable'
would be handled in the same way as 'cerl -smp'.
|
|
It is difficult/impossible to find out whether an invocation of
'erl' will start the smp emulator or the non-smp emulator
(short of actually starting the emulator). Therefore we will need
a way to ask 'erlexec'.
|
|
The -frag and -smp_frag options was used to start an (at the time)
experimental build of the emulator. The -shared and -hybrid option
was used to start experimental versions of the emulator with
alternate heap architectures.
|
|
Flow control can cause unwanted behaviour of the beam process,
if accidentally hit Ctrl-S (instead of Ctrl-D to detach) the
entire beam may be blocked.
Fix this problem by making it possible to turn off flow
control by setting the environment variable RUN_ERL_DISABLE_FLOWCNTRL.
|
|
* ms/heart-rem-garbage-append:
heart: remove garbage appended to heart command
OTP-9224
|
|
* ta/erts-unused-vars:
erts: Remove unused variables
OTP-9205
|
|
heart:get_cmd/0 is documented to return an empty string if the command is
cleared. get_cmd/0 returns 2 extra bytes: 1 byte for the trailing null,
1 byte from the op (the op is an unsigned char and 2 bytes are allocated
for it in the returned buffer).
1> heart:get_cmd().
{ok,[0,0]}
2> heart:set_cmd("echo hello").
ok
3> heart:get_cmd().
{ok,[101,99,104,111,32,104,101,108,108,111,0,0]}
4> heart:clear_cmd().
ok
5> heart:get_cmd().
{ok,[0,99]}
|
|
* pan/run_erl_race_creating_fifo/OTP-9164:
Fix race in pipe creation. Two simultaneous node starts caused failure
|
|
find_redist.sh searches for the matching MS VC++ redistributable runtime in
likely places. Patch adds support for MS Windows SDK 7.0 and 7.1, used in
VS2008 and VS2010. Also supports putting vcredist_x86.exe in $ERL_TOP/.. or
$ERL_TOP
|
|
* cg/fix-pointer-dereference:
Fix some wrong pointer dereferences
OTP-9194
|
|
|
|
* pan/win_init_restart_oldshell/OTP-9139:
Add testcase
Teach win32/sys.c (fd-driver) not to leak readers causing init:restart to fail
Make Erlang build with Latest MS SDK, 7.1 (and VStudio 2010)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jp/dependencies_makefile:
Add dependencies Makefile generation to erlc(1) and compile(3)
Conflicts:
lib/compiler/test/compile_SUITE.erl
OTP-9065
|
|
This is useful when a project is built with Makefiles and erlc(1)
instead of EMakefiles. Tracking dependencies by hand is error-prone and
it becomes painful when using external application headers like EUnit's
one.
A dependencies Makefile will look like this:
module.beam: module.erl \
/usr/local/lib/erlang/lib/eunit-2.1.4/include/eunit.hrl \
header.hrl
When included in the main Makefile, 'module' will be recompiled only
when needed.
GCC offers the same feature and new erlc(1) options are compatible with
it.
More informations at:
http://wiki.github.com/dumbbell/otp/dependencies-makefile
|
|
* pan/inet6_corrections/OTP-8969:
Stop using uncertain flags for getaddrinfo()
Teach inet_test_lib to understand enetunreach
Make windows inet_gethost work for ipv6
|
|
* pan/unicode-filenames/OTP-8887: (27 commits)
Test and correct filelib and filename
Add documentation to erlang.xml and slight correction to unicode_usage.xml
Add section about Unicode file names to stdlib users guide
Correct bug in file_name_SUITE making it fail on Unix instead of Windows7
Add documentation about raw filenames and Unicode file name translation mode
Make filelib not crash on re codepoints beyond 255 in re when filename is raw
Mend on_load_embedded testcase which did not handle windows links
Correct testcase regarding windows versions supporting soft links.
Teach filelib to use re in unicode mode when filenames are not raw
Treat soft links on Windows correctly in file_name_SUITE
Adapt new soft and hard link routines on Windos to Unicode
Corrected testcases broken by unicode filenames
Update preloaded prim_file
Teach prim_file not to accept atoms and not to throw exceptions
Adapt inet_drv to Visual Studio 2008
Teach spawn_executable about Unicode
Convert filenames read on MacOSX to canonical form
Teach file to accept codepoints beyond 255.
Add testcases
Correct shell utilities to handle unicode and possibly binaries
...
|
|
The AI_V4MAPPED flag is falling out of grace in modern
IPv6 stacks, for security reasons, e.g. FreeBSD do not
document it any longer. The AI_ADDRCONFIG flag have
got unclear semantics on the same OS.
|
|
|
|
warnings/errors in man pages
|
|
|
|
|
|
|
|
* bw/win32-laa:
Added win32 large address aware link option
OTP-8956
|
|
|
|
a link to run_test available
|
|
|
|
* dgud/erts/windows-vs10-express:
Fix manifest files
|
|
It seems windows have updated manifest files in VS2010 which
caused the erlang programs to contain duplicate requestedExecutionLevel
entries, which is not allowed.
This patch removes the microsoft entry, before adding our own which
is known to work with XP and Vista.
|
|
|
|
* sf/erts_de_busy_limit:
Add flag-based setting for the distribution buffer busy limit
|
|
Id: OTP-8912
This patch creates a new family of flags with the "+z" prefix. It
further creates a new configuration option called "dbbl" (which is the
first letter of the name dist_buf_busy_limit). Example usage of this
flag would be "+zdbbl 1048576".
This patch creates an adjustable buffer limit for the amount of data
that may be buffered by the erlang distribution code (in dist.c
specifically). Before this patch, this hard-coded constant was used:
#define ERTS_DE_BUSY_LIMIT (128*1024)
When large binaries are transmitted between nodes (or simply a lot of
medium-sized binaries), it is very easy to hit the old 128KB limit.
Processes that use the erlang:system_monitor() BIF to monitor system
events can be spammed by {monitor, busy_dist_port, ...} message tuples
at rates of tens to even hundreds of messages/second.
A larger buffer limit will allow processes to buffer more outgoing
messages over the distribution. When the buffer limit has been
reached, sending processes will be suspended until the buffer size has
shrunk. The buffer limit is per distribution channel. A higher limit
will give lower latency and higher throughput at the expense of
higher memory usage.
A variation of this patch has been in commercial production use in at
least two companies that the author is aware of. Larger buffer values
can reduce the number of {monitor, busy_dist_port, ...} system
messages drastically, lower overall messaging latencies, and prevent
false timeouts and 'nodedown' messages in extremely busy Mnesia systems.
Test suite: there are two tests:
a. In erlexec_SUITE.erl to test basic set & get of the value
b. In distribution_SUITE.erl, to verify that setting +zdbbl very
low will actually change behavior.
|
|
* ms/security-fixes:
erlc: remove unused variable
typer: prevent buffer overflows
run_test: prevent buffer overflow
heart: prevent buffer overflow
escript: prevent buffer overflows
erlexec: prevent buffer overflows
erlc: prevent buffer overflows
dialyzer: prevent buffer overflows
OTP-8892
|
|
Michael Santos supplied a very nice patch that did set the annotation level
correctly for gdb when run from cerl in emacs.
The patch adds --annotate=3 to the gdb command line, which makes emacs
parse the gdb output correctly, making the right source code be loaded in
the emacs buffer.
While integrating it, I removed my faulty code trying to do the same with hacky
elisp commands. Michaels way is the right way to do it.
Thanks!
|
|
This link option just sets a flag in the binary and doesn't change
OS compatibility. This allows the Erlang VM to use up to 3 gigs of
address space instead of the default of 2 gigs.
|
|
|
|
|
|
Truncate buffers used to hold command line arguments.
|
|
|
|
Check buffer operations on input from escripts, the command line and
environment variables.
|