Age | Commit message (Collapse) | Author |
|
* sverk/zlib_port_leak:
Fix port leaks in zlib
OTP-9981
|
|
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
* ph/fix-enfile/OTP-9990:
Update preloaded prim_inet.beam
gen_tcp: Use correct specs for accept and listen
prim_inet: Catch system_limit in open_port
Fix returned error from gen_tcp:accept/1,2 when running out of ports
|
|
|
|
zip,unzip,gzip,gunzip,compress and uncompress did not close the port
when given invalid data argument. Fixed by putting close in "try-after".
A closed port could in same cases get stuck in limbo due to data in
io-queue. Fixed by adding a flush callback.
|
|
|
|
|
|
Introduce two new BIFs, erlang:prepare_loading/2 and
erlang:finish_loading/1, and re-implement erlang:load_module/2 in
Erlang code.
We have two reasons for doing this:
* To facilitate suspending a process if another process
is already doing code loading.
* In the future, we can implement parallel and atomic loading
of several modules. Atomic loading works except for modules with
on_load handlers. Because of that issue, erlang:finish_loading/2
will currently only accept a list with a single magic binary.
|
|
Conflicts:
erts/doc/src/erlang.xml
erts/preloaded/ebin/erlang.beam
|
|
Update preloaded erlang.beam
Removed stray error in dialyzer test suite - different error message
with the new specs.
|
|
This involves exception BIF's, guar BIF's and some other complicated BIF's
Also some minor corrections to documentation and specs in erlang.erl
Added comment for each spec in erlang.erl shadowed by erl_bif_types.
Dialyzer test should now run well except for one or two cases.
|
|
New errors found when adding specs to erlang.erl and
removing them from erl_bif_types are examined and corrected.
Some errors was due to faulty specs, while others were actual
errors in the code using BIF's.
|
|
Reintroduced setelement in erlang.erl and erlang.xml
Preloaded erlang.beam updated.
|
|
|
|
|
|
OTP-9810
OTP-9812
OTP-9813
OTP-9814
OTP-9818
|
|
|
|
|
|
|
|
aa_mem_data/2 is only called by aa_mem_data/1 and itself.
aa_mem_data/1 called with the argument 'notsup' will never
call aa_mem_data/2. aa_mem_data/2 will only call itself with
a #memory{} record as the first argument. QED.
Noticed-by: Dialyzer.
|
|
|
|
|
|
* 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.
|
|
* dev:
Update preloaded modules
erl_prim_loader: Eliminate dialyzer warning
Conflicts:
erts/preloaded/ebin/erl_prim_loader.beam
|
|
|
|
* dev:
Update documentation and specifications of some of the zlib functions
Conflicts:
erts/preloaded/ebin/zlib.beam
|
|
The functions zlib:deflateSetDictionary/2 and zlib:inflateSetDictionary/2
accept iodata() as Dictionary.
The functions zlib:crc32/2,3, zlib:adler32/2,3, zlib:compress/1,
zlib:uncompress/1, zlib:zip/1, and zlib:unzip/1 accept iodata() as
data.
|
|
|
|
|
|
|
|
An incorrect spec, rpc:yield/1, has been fixed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In embedded mode, all on_load handlers will be called after
loading all modules but before starting any servers. Therefore,
if an on_load handler calls any function in the code module that
calls the code server (such as code:priv_dir/1), there will be a
deadlock because the code server has not yet been started.
Fix this problem by invoking the on_load handlers after
having started most servers in the kernel application.
|
|
|
|
The assoc_id field was uninitialized causing random answers.
|
|
|
|
|
|
|
|
|