Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Added a goto fail in worker loop if write() fails.
The 'fail' label used to be win32 only but is now
used across platforms.
|
|
|
|
|
|
|
|
Removed symbolic links from repository.
|
|
Can still not setup -a, but cerl works.
|
|
|
|
Still does not run, just compiles.
|
|
* rickard/sched-compact-load/OTP-9695:
Add switch that can disable scheduler compaction of load
|
|
|
|
If parallel make is used, several instance of 'erlc' is likely to
be invoked at once. Therefore, the default binding of schedulers
to CPU cores will do no good. (With this change, the build of
Erlang/OTP with six threads finished in about 7 minutes; without in
about 11 minutes.)
|
|
* rickard/alloc-opt/OTP-7775:
Optimize memory allocation
Conflicts:
erts/aclocal.m4
erts/emulator/hipe/hipe_bif_list.m4
erts/preloaded/ebin/erl_prim_loader.beam
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/init.beam
erts/preloaded/ebin/otp_ring0.beam
erts/preloaded/ebin/prim_file.beam
erts/preloaded/ebin/prim_inet.beam
erts/preloaded/ebin/prim_zip.beam
erts/preloaded/ebin/zlib.beam
|
|
A number of memory allocation optimizations have been implemented. Most
optimizations reduce contention caused by synchronization between
threads during allocation and deallocation of memory. Most notably:
* Synchronization of memory management in scheduler specific allocator
instances has been rewritten to use lock-free synchronization.
* Synchronization of memory management in scheduler specific
pre-allocators has been rewritten to use lock-free synchronization.
* The 'mseg_alloc' memory segment allocator now use scheduler specific
instances instead of one instance. Apart from reducing contention
this also ensures that memory allocators always create memory
segments on the local NUMA node on a NUMA system.
|
|
|
|
|
|
* pan/win_erlsrv_stop/OTP-9344:
Move init of smp rw mutex from init to sys_args to make sure that it is initialized before the first erts_sys_getenv call
Move erts_sys_env_init() to erts_sys_pre_init()
Remove _DEBUG from start_erl.c
Spelling correction in erlsrv doc
Convert windows start_erl to take rootdir on command line
Add command start_disabled to erlsrv
Add global lock for erlsrv to avoid races
Change start order so that service_event gets initialized before it's used
|
|
Conflicts:
erts/vsn.mk
|
|
|
|
This commit adds test cases from release_handler_SUITE on windows,
including some corrections in erlsrv and release_handler.
|
|
|
|
|
|
|
|
|
|
|
|
* 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
|