Age | Commit message (Collapse) | Author |
|
Used with new sbc cache
|
|
|
|
|
|
HAVE_SUPER_ALIGNED_MB_CARRIERS is always true with mmap and thus
aligned bits is a constant and so is "page" size for mmap.
Conflicts:
erts/emulator/sys/common/erl_mseg.h
|
|
rickard/r16/port-optimizations/OTP-10336
* rickard/port-optimizations/OTP-10336:
Change annotate level for emacs-22 in cerl
Update etp-commands
Add documentation on communication in Erlang
Add support for busy port message queue
Add driver callback epilogue
Implement true asynchronous signaling between processes and ports
Add erl_drv_[send|output]_term
Move busy port flag
Use rwlock for driver list
Optimize management of port tasks
Improve configuration of process and port tables
Remove R9 compatibility features
Use ptab functionality also for ports
Prepare for use of ptab functionality also for ports
Atomic port state
Generalize process table implementation
Implement functionality for delaying thread progress from unmanaged threads
Conflicts:
erts/doc/src/erl_driver.xml
erts/doc/src/erlang.xml
erts/emulator/beam/beam_bif_load.c
erts/emulator/beam/beam_bp.c
erts/emulator/beam/beam_emu.c
erts/emulator/beam/bif.c
erts/emulator/beam/copy.c
erts/emulator/beam/erl_alloc.c
erts/emulator/beam/erl_alloc.types
erts/emulator/beam/erl_bif_info.c
erts/emulator/beam/erl_bif_port.c
erts/emulator/beam/erl_bif_trace.c
erts/emulator/beam/erl_init.c
erts/emulator/beam/erl_message.c
erts/emulator/beam/erl_port_task.c
erts/emulator/beam/erl_process.c
erts/emulator/beam/erl_process.h
erts/emulator/beam/erl_process_lock.c
erts/emulator/beam/erl_trace.c
erts/emulator/beam/export.h
erts/emulator/beam/global.h
erts/emulator/beam/io.c
erts/emulator/sys/unix/sys.c
erts/emulator/sys/vxworks/sys.c
erts/emulator/test/port_SUITE.erl
erts/etc/unix/cerl.src
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/prim_inet.beam
erts/preloaded/src/prim_inet.erl
lib/hipe/cerl/erl_bif_types.erl
lib/kernel/doc/src/inet.xml
lib/kernel/src/inet.erl
|
|
Conflicts:
erts/emulator/sys/vxworks/sys.c
erts/vsn.mk
lib/ssl/src/ssl_connection.erl
lib/ssl/test/ssl_basic_SUITE.erl
|
|
|
|
|
|
|
|
|
|
|
|
* Create an erl_crash.dump if no heart exists
and no ERL_CRASH_DUMP_SECONDS is set (behaviour changed)
* Don't create an erl_crash.dump if heart do exists
and no ERL_CRASH_DUMP_SECONDS is set (behaviour not changed)
This changes the behaviour back to the R15B02 default considering
if a beam was running with no heart.
The motivation is that we want a fast heart to fast restart erlang if
it crashes but to be able to get non-truncated erl_crash.dumps via
setting ERL_CRASH_DUMP_SECONDS if we so desire.
|
|
* sverk/crypto-unloading:
crypto: Link crypto_callback statically
crypto: Add debug print macros
crypto: Enable runtime upgrade of crypto
crypto: Make unloading of crypto safer
OTP-10596
|
|
|
|
* Don't redfine ALIGN_BITS or ALIGNED_SIZE, the global defined MSEG_*
constants are just as good.
|
|
|
|
|
|
|
|
* utilize the power of two
|
|
|
|
|
|
* Not used except in valgrind but there mseg is disabled completely
via Meamin.
|
|
Conflicts:
erts/etc/common/heart.c
|
|
* egil/ensure-erl_crash.dump/OTP-10422:
test: Relax timeouts for heart_SUITE
erts: Fix crash dump write to port hack
erts: Fix lock check assertion
doc: Document ERL_CRASH_DUMP_SECONDS behaviour
test: Add test for heart restart on crash
test: Add test for heart restart on crash
erts: Change ERL_CRASH_DUMP_SECONDS behaviour
test: Refactor away ?line macros in heart_SUITE
erts: Search for heart in ports that are alive
heart: Refactor heart debugging
erts, heart: Ensure erl_crash.dump is written
|
|
More future proof with R16
|
|
Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam
immediately on a crash without writing a crash dump file.
Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate beam
immediately on a crash without writing a crash dump file, i.e. same as not
setting ERL_CRASH_DUMP_SECONDS environment variable.
Setting ERL_CRASH_DUMP_SECONDS to a negative value will let the beam wait
indefinitely on the crash dump file being written.
Setting ERL_CRASH_DUMP_SECONDS to a positive value will let the beam wait
that many seconds on the crash dump file being written.
A positive value will set both an alarm in beam AND a heart timeout for restart
if heart is running.
This is due to the change of 'heart' behavior when 'heart' is
listening for a crash.
|
|
When a crash dump is about to be written and we have
heartbeat enabled on a system. We need time to write it
before heart explicitly kills the beam.
|
|
Facts:
crypto nif-lib registers callback functions that openssl uses
for memory management and thread synchronization. The callback
functions can only be set once, openssl does not allow changing the
callback functions.
Problem:
If openssl is dynamicly linked to crypto, you might get s scenario
where the crypto lib is unloaded while leaving openssl loaded
with its old pointers to the unloaded crypto code intact.
If crypto is then reloaded (by init:restart() for example), the crypto
nif-lib might get relocated at a different address. crypto calls
openssl which in turn calls the old invalid callback functions...kaboom.
Solution:
Break apart the callback functions into a separate dynamic lib that
crypto loads with dlopen. When crypto is unloaded the callback lib is
left in place to be reused if/when crypto is loaded again.
|
|
* egil/r16/strengthen-buffer-copies:
Replace sprintf with erts_snprintf in beam
Replace sprintf with erts_snprintf in epmd
Replace sprintf with erts_snprintf in inet_gethost
|
|
* maint:
Make sure io is flushed when driver is closed
|
|
|
|
Sometime when executing an tty io operation just before
the emulator terminated, the io message would get lost.
This commit makes sure that there is no io in the fd driver
before shutting down.
|
|
Conflicts:
lib/diameter/autoconf/vxworks/sed.general
xcomp/README.md
|
|
|
|
|
|
* jkl/erlsrv-graceful-shutdown/OTP-10228:
erlsrv: gracefully stop emulator on Windows shutdown
|
|
Conflicts:
erts/doc/src/erlang.xml
erts/preloaded/ebin/init.beam
lib/kernel/doc/src/os.xml
lib/stdlib/test/filename_SUITE.erl
|
|
Putenv and getenv needs to convert to the proper environment
strings in Unicode depending on platform and user settings for filename
encoding. Also erlexec needs to pass environment strings in an appropriate
way for kernel to pick up. All environment strings on the command
line, as well as home directory, is now passed in UTF8 on windows
and in whatever encoding you have on Unix, kernel tries to convert all
parameters and environments from UTF8 before making strings.
|
|
Windows will send the SERVICE_CONTROL_SHUTDOWN event to the service control
handler when shutting down the system. Instead of ignoring the event, erlsrv
will now invoke the stop action. Likewise, the Erlang emulator (and it's port
drivers) must not quit upon reception of the CTRL_SHUTDOWN_EVENT event in the
console control handler.
|
|
|
|
|
|
|
|
|
|
* rickard/proc-sched/OTP-9892:
Teach etp-commands to understand new emulator internal data structures
Optimize process state changes
Optimize process table access
Implement possibility to use ordinary mutexes as process locks
Conflicts:
erts/emulator/beam/erl_alloc.types
|
|
|
|
When spawning OS (unix) processes with erlang:open_port, store the
resulting unix pid so that it can be queried later on using
erlang:port_info/1,2.
|
|
|
|
* rickard/erts-poll/OTP-10019:
Fix wakeup functionality in no thread support case
OTP-10036 is completely unrelated to this commit. Only here to trigger
info about the OTP-10036 ticket in the release notes script...
OTP-10036
|
|
|
|
|