Age | Commit message (Collapse) | Author |
|
|
|
Fix bsr bug occurring when shifting a huge number a huge number of
bits to the right. The bug can occur if Sint is 64 bits and int is 32
bits, causing a truncation in the big.c:I_lshift function.
|
|
Add test data demonstrating that bsr is broken when shifting a large
number a huge number of bits to the right.
|
|
|
|
* nox/silent-rules-fixes/OTP-11351:
Fix two small silent rules omissions
|
|
OTP-11368
* sv-socket-active-n:
Update preloaded
add {active,N} socket option for TCP, UDP, and SCTP
|
|
|
|
Conflicts:
erts/vsn.mk
|
|
|
|
* msassak/empty-pattern-badarg/OTP-11350:
stdlib: extended binary_module_SUITE to assure badarg for OTP-11350
Check all pattern arguments passed to binary:matches/2
|
|
* maint:
Update preloaded
add system_info(ets_limit)
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
OTP-11362
* sv/system_info_max_ets:
Update preloaded
add system_info(ets_limit)
|
|
|
|
rickard/aligned-sys_alloc-carriers_maint/OTP-11318
Conflicts:
erts/emulator/beam/erl_alloc.c
erts/emulator/beam/erl_alloc_util.c
erts/emulator/beam/erl_alloc_util.h
|
|
erts_sys_aligned_alloc() is currently implemented using posix_memalign if
it exist, or using _aligned_malloc on Windows.
If erts_sys_aligned_alloc() exist allocators will create sys_alloc
carriers similar to how this was done pre-R16.
|
|
|
|
|
|
Add system_info(ets_limit) to provide a way to retrieve the runtime's
maximum number of ETS tables. Add tests and documentation for it too.
Also repair the alphabetical order of system_info/1 argument descriptions
in the documentation and in the erlang.erl clauses. Add new preloaded
erlang.erl due to that change. Also ensure all system_info/1 clauses are
represented in the erlang.xml source documentation -- a couple had been
inadvertently dropped in previous commits when other clauses were added.
|
|
|
|
* lewellyn/nosyslog/OTP-11349:
Define LOG_ERR for systems without syslog.h
Fix syslog defines
|
|
|
|
Add the {active,N} socket option, where N is an integer in the range
-32768..32767, to allow a caller to specify the number of data messages to
be delivered to the controlling process. Once the socket's delivered
message count either reaches 0 or is explicitly set to 0 with
inet:setopts/2 or by including {active,0} as an option when the socket is
created, the socket transitions to passive ({active, false}) mode and the
socket's controlling process receives a message to inform it of the
transition. TCP sockets receive {tcp_passive,Socket}, UDP sockets receive
{udp_passive,Socket} and SCTP sockets receive {sctp_passive,Socket}.
The socket's delivered message counter defaults to 0, but it can be set
using {active,N} via any gen_tcp, gen_udp, or gen_sctp function that takes
socket options as arguments, or via inet:setopts/2. New N values are added
to the socket's current counter value, and negative numbers can be used to
reduce the counter value. Specifying a number that would cause the socket's
counter value to go above 32767 causes an einval error. If a negative
number is specified such that the counter value would become negative, the
socket's counter value is set to 0 and the socket transitions to passive
mode. If the counter value is already 0 and inet:setopts(Socket,
[{active,0}]) is specified, the counter value remains at 0 but the
appropriate passive mode transition message is generated for the socket.
This commit contains a modified preloaded prim_inet.beam due to changes in
prim_inet.erl.
Add tests for {active,N} mode for TCP, UDP, and SCTP sockets.
Add documentation for {active,N} mode for inet, gen_tcp, gen_udp, and
gen_sctp.
|
|
|
|
Including an empty binary as one of multiple patterns passed to
binary:matches/2 would crash BEAM with: "Cannot reallocate
1342177280 bytes of memory (of type "tmp")". This ensures each pattern
is valid before trying to match.
|
|
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
|
|
|
|
|
|
|
|
config.h defines HAVE_SYSLOG_H whereas the sources are looking for
NO_SYSLOG to be undefined. As the logic of "if feature is available"
makes more sense than "if feature is not unavailable", I opted for the
config.h define.
|
|
|
|
* 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
|
|
|