Age | Commit message (Collapse) | Author |
|
The 'erlc' program passes options to the 'erl' program using
the '-s' option. The '-s' option causes all options to be converted
to atoms, which implies that UTF-8 file names may not be given on
the command line.
We could solve just the UTF-8 problem by using '-run' and change
the erl_compile module to expect strings instead of atoms, but since
that is an incompatible change, we should take the opportunity to
make more incompatible changes while we are at it.
Specifically, when 'erlc' was first written, there was no way to pass
command line arguments starting with '-' to Erlang, so 'erlc' did all
parsing of arguments and translated options to atoms starting with a
'@' character (for example, -I was translated to @i). Since then,
the '-extra' option has been introduced which allows us to pass
anything to Erlang at the end of the command line.
Therefore, while at it, do the minimum of necessary command line
parsing in the 'erlc' program (e.g. the '-smp' option), passing the
command line essentially unchanged to 'erl' using the '-extra' option,
and rewrite the option parsing in Erlang.
|
|
The R16B02 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
|
|
|
|
* vinoski/sv/fix-sched-stats-disable/OTP-11317:
fix system_flag(scheduling_statistics,disable)
|
|
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
* jcomellas/jc-integer-to-binary2/OTP-11311:
Update preloaded
Fix incorrect values returned by integer_to_binary/2
|
|
Clear the "enabled" flag for scheduling statistics when disable is
specified.
|
|
|
|
When integer_to_binary/2 receives 0 or a negative number as an argument
with a base that is different from 10, it will return incorrect values
(<<>> in the case of 0) or it will crash (with negative numbers). This
commit fixes these problems and adds tests to cover these cases.
|
|
* maint:
Change encoding of troublesome notes.xml files to utf-8
Convert some notes.xml files from latin-1 to utf-8
|
|
* bjorn/xml-encoding-fix/OTP-11310:
Change encoding of troublesome notes.xml files to utf-8
Convert some notes.xml files from latin-1 to utf-8
|
|
|
|
* lukas/erts/erl_exec_e:
+e should be passed through erlexec
|
|
In the master branch, the encoding for most xml files have been
changed from latin-1 to utf-8. The problem is, that the corresponding
files in the maint branch still are encoded in latin-1, and that
a merge from maint to master may bring in characters encoded in latin-1
into a notes.xml file declared to be in utf-8.
To fix the problem once and for all (for the files involved), we'll
need to re-encode the files files utf-8 in maint, and then merge to
master.
Noticed-by: Magnus Henoch
|
|
|
|
* sverk/mac-select-assert-bug:
erts: Fix faulty assert in "unlimited select" for mac
|
|
* sverk/valgrind-single-core:
erts: Speed up valgrind with asynch threads
|
|
|
|
* raimo/fix-signedness-flaws-in-efile_drv:
Fix EV_* macros and functions signedness flaws
|
|
|
|
* egil/erl_driver-thread-info/OTP-11303:
erts: Document erl_driver interface lock names
erts: Extend erl_driver interface with lock names
|
|
|
|
|
|
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
* raimo/linux-network-namespace-sockopt/OTP-11157:
Document socket option 'netns'
Rudimentary test
Make netns option value a string
Implement netns for SCTP + bugfixes
Implement netns option for TCP and UDP
Implement emulator netns support for TCP and UDP
|
|
|
|
* maint:
Silence gcc warnings in non-smp build
|
|
* sv-sched-percentage-option:
Silence gcc warnings in non-smp build
|
|
* maint:
erts: Fix segfault when scheduling release_port later_op
|
|
* lukas/erts/clean_port_msg_dispatcher/OTP-11290:
erts: Fix segfault when scheduling release_port later_op
|
|
|
|
|
|
* maint:
add erl option to set schedulers by percentages
|
|
* sv-sched-percentage-option:
add erl option to set schedulers by percentages
OTP-11282
|
|
For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.
To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.
Add documentation for the +SP option.
Add tests for the +SP option to scheduler_SUITE.
Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
|
|
* essen/export-zlib-zstream/OTP-11278:
Updated preloaded
Export type zlib:zstream/0
|
|
Conflicts:
erts/preloaded/ebin/zlib.beam
|
|
* essen/export-zlib-zstream/OTP-11278:
Updated preloaded
Export type zlib:zstream/0
|
|
|
|
* pan/time_correction_doc:
Add time correction doc in users guide
OTP-11277
|
|
|
|
begin_port_cleanup can be called from a non-scheduler thread, this
means that there is no esdp available and thus erts_schedule_thr_prgr_later_op
segfaults.
|
|
|
|
* sze/edlin_understand_keys/OTP-11251:
Added primary bootstrap
erts: fixed documentation regarding tty and arrow keys
make edlin understand a few important control keys
|
|
|
|
The actual port id is used to create a key from the
pointer value which is the ErlDrvPort. To do this
a new driver api function driver_async_port_key is
added and the driver API minor version is updated.
The documentation is updated and the faulty description of
how to spread ports over async threads is updated to
use the new API.
Testcase also added.
|
|
|
|
|