Age | Commit message (Collapse) | Author |
|
* egil/maps-doc:
doc: Add Maps example for sequential programming
doc: Mention map expressions and map guards
doc: Add maps to reference manual
edoc: Add map/0 as a new predefined type
doc: Descripe Maps type syntax
doc: Clearify language of user-defined attributes
doc: Document Maps datatype in reference manual
erts: Document map guard functions
erts: Fix is_map/1 spec
|
|
* sverk/suspend-running-race:
erts: Fix bug of scheduling a suspended process
|
|
* sverk/test-cuddle:
erts: Fix bug in test case port_SUITE:otp_5119
erts: Reduce runtime of test port_SUITE:close_deaf_port
|
|
* vinoski/dirty-nif-purge:
prevent NIF purge during dirty NIF execution
fix dirty NIF invalid memory read
|
|
* nox/remove-superfluous-echo:
Remove a superfluous echo in the emulator Makefile
|
|
Reference-count the NIF before and after invoking a NIF on dirty schedulers
to prevent having the NIF purged during the call.
|
|
Dirty NIF support used an Export structure to facilitate calls to dirty
NIFs and finalizers, but Export isn't large enough to hold all necessary
data. This was causing an invalid memory read in beam_emu.c past the end of
the Export object. Add a local extended Export struct to erl_nif.c that can
hold all the necessary data.
|
|
* sverk/change-map-subtag:
erts: Adjust is_external_header() for new map tag
Change the subtag used for maps from 0xB to 0xF
|
|
* lukas/ose/master-17.0/OTP-11334:
erts: Move debug printout to eliminate gcc warning
|
|
These applications contains generated code with the latin1 directivce.
|
|
|
|
|
|
This is a race that can cause RUNNING (instead of RUNNING_SYS)
set on a SUSPENDED process. The effect of this race happening is probably
quite benign.
The bug was discovered by process_SUITE:processes_gc_trap on debug VM
crashing on last assert in schedule():
/* Never run a suspended process */
ASSERT(!(ERTS_PSFLG_SUSPENDED & erts_smp_atomic32_read_nob(&p->state)));
|
|
to not mistake a map for an external term (pid, port or ref).
|
|
* matwey/systemd/OTP-11829:
Add systemd socket activation for epmd.
Conflicts:
erts/epmd/src/epmd_int.h
Extra ticket: OTP-11828
|
|
* pf/document-escript-feature-only-present-in-examples/OTP-11827:
Document an escript:create/2 hidden feature
|
|
escript:create/2 accepts a 3-elements tuple containing files and
zip:create/3 options to build a zip file.
Also had to update zip typespecs to allow referral from escript docs.
|
|
* lukas/ose/master-17.0/OTP-11334:
ose: Fix erts assert failed printouts
ose: fix for packet_bytes in fd/spawn driver.
ose: Prepare slave for running on OSE
ose: Fix bug when hunting for signal proxy
ose: Implement tcp inet driver for OSE
ose: Add ifdefs for HAVE_UDP
ose: Yielding has to be done differently for background processes.
ose: Print faults in aio sys driver calls
ose: Prinout errno when to_erl read fails
ose: erlang display goes to ramlog printf
ose: Initiate stdin/stdout/stderr
ose: Break lmconf into one per load module
ose: Reset busy port when pdq empty
ose: Restore the owner of the signal
|
|
The subtag chosen for maps breaks crucial assumptions in other parts of
the system, in particular the native code generation scheme used in the
HiPE compiler. Therefore it is better to use 'the other' unused subtag.
The main change here is the use of 0xF subtag for maps instead of 0xB.
The rest of the differences are changes to and additions of comments.
One more comment from my part.
I noticed that the file contains the following two lines:
The comment of the second line is most certainly a copy and paste error
and should be appropriately fixed by the OTP developers. More importantly,
it would be great if that subtag (0x7) turned out to be unused and could
be used for maps instead of the 0xF one. This might turn out very handy
in the future. I can elaborate on this, if needed.
|
|
as it fails with timeout sometimes.
|
|
|
|
|
|
Sometimes the wrong signal, i.e. a read reply, would be
received from this non-selective receive.
|
|
The inet driver for OSE has to handle signals instead of selects
and thus the wrappers for ready_input/output are a little bit
different. However the majority of the inet code remains the same.
|
|
|
|
|
|
|
|
|
|
|
|
Needed to get std io to work in some OSE systems where stdio
is not opened when the program starts.
|
|
|
|
* sverk/maps_remove_bug:
erts: Fix heap overflow in maps:remove/2 when key is not found
|
|
* sverk/win-warning-io:
erts: Fix compile warning in io.c for windows
|
|
|
|
* paulgray/dtrace_snprintf_fix/OTP-11816:
Fix DTrace/SystemTap-related formatting
|
|
Thanks to Michał Ptaszek for bringing this embarrassing formatting error to
my attention. Many DTrace/SystemTap trace strings are incorrectly
truncated at 4/8 bytes, depending on the CPU word size. This patch expands
the work from commit d032e097 by zheng siyao.
Michał's report to the erlang-bugs list can be found at:
http://erlang.org/pipermail/erlang-bugs/2014-March/004250.html
Conflicts:
erts/emulator/beam/beam_emu.c
erts/emulator/beam/copy.c
erts/emulator/beam/dist.c
erts/emulator/beam/erl_async.c
erts/emulator/beam/erl_bif_port.c
erts/emulator/beam/erl_port_task.c
erts/emulator/beam/erl_process.c
erts/emulator/beam/io.c
|
|
* vladdu/unicode_parameters_doc:
Specify that +fn* flags affect even command-line parameters and environment variables
OTP-11818
|
|
* paulgray/dtrace_snprintf_fix/OTP-11816:
Pass full strings to DTrace probes
|
|
* siri/release-name/OTP-11736:
Update primary bootstrap
Change release name from "OTP APN 181 01" to "Erlang/OTP"
|
|
* bjorn/erts/zlib-fix:
zlib: Fix adler32_combine/4 and crc32_combine/4
|
|
* sverk/halfword-deprecate/OTP-11777:
erts: Deprecate halfword emulator
|
|
* sverk/win-long-filenames/OTP-11813:
erts: Cleanup debug tracing in win_efile.c
erts: Fix file:list_dir for windows paths 258 or 259 chars long
erts: Increase MAXPATHLEN to 4096 for windows
erts: Fix bug in efile_readlink for long win paths
kernel: Fix failed tests in prim_file_SUITE for windows
erts: Fix compiler warning in win_efile.c
erts: Skip tests of paths longer than 255 characters as atoms
erts: Skip tests of file:set_cwd for too long path on Windows
erts: Make file:make_symlink/2 return {error,eperm} on Windows
erts: Revert file:set_cwd impl for windows
erts: Ignore reduntant slashes in windows paths
fix file_SUITE:cur_dir_0 for long windows paths
erts: Fix file_SUITE:make_del_dir for long paths
erts: Fix long windows paths for compressed files
erts: Use GetFullPathNameW to construct abs paths from relative ones
erts: Fix file driver to handle long paths on windows
Conflicts:
erts/emulator/drivers/win32/win_efile.c
|
|
|
|
Appending wildcard "\*" made the path too long (>= 260 chars).
|
|
|
|
|
|
and some improved debug tracing
|
|
if the user has not the privilege SE_CREATE_SYMBOLIC_LINK_NAME
|
|
variables
|
|
|