aboutsummaryrefslogtreecommitdiffstats
path: root/erts/lib_src/common
AgeCommit message (Collapse)Author
2018-02-13Fix size of fmt_double()'s format_str[] bufferMikael Pettersson
fmt_double() may write up to 8 characters into its format_str[] buffer, which however only has room for 7 characters. This case could be triggered by a call to erts_printf_format() with any floating-point format that also includes #, and + or a space, which may be uncommon, but a nif or driver could issue it.
2018-01-15erts: Fix buffer overflow bug in erts_printf %fSverker Eriksson
Sign character was not accounted for. Ex: float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
2017-10-18Buffer writing of crash dumpsBjörn Gustavsson
Writing of crash dumps were done using unbuffered IO. This is slow since many small writes are done. Use a FILE* with an allocated buffer to obtain buffered IO. I wrote a small test program that created 50000 binaries of 200 bytes each and then created a crash dump. The crash dumping was an order of magnitude faster with buffered IO than without.
2017-05-04Update copyright yearRaimo Niskanen
2017-04-20erts: Fix erlexec to handle mismatch in sysconf and proc fsLukas Larsson
This behaviour has been seen when using docker together with --cpuset-cpus.
2017-04-07Stack guard for PCRERickard Green
2016-12-20Workaround for buggy android implementation of PTHREAD_STACK_MINRickard Green
2016-11-17erts: Add cbprintf for Callback PrintingSverker Eriksson
2016-03-15update copyright-yearHenrik Nord
2016-02-02erts: Add power saving cpu feature tests and use themLukas Larsson
2016-02-02erts: Add rdtscp instruction checkLukas Larsson
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-06-24erts: Remove halfword relative printfBjörn-Egil Dahlberg
2015-06-24erts: Remove halfword in lib_srcBjörn-Egil Dahlberg
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-16erts: Do not preallocate too large event poolBjörn-Egil Dahlberg
A pool size of 4000 is too excessive for the common case. Change ERTS_TS_EV_ALLOC_DEFAULT_POOL_SIZE to 2048 Change ERTS_TS_EV_ALLOC_POOL_SIZE to 32
2015-03-20Merge branch 'rickard/time_api/OTP-11997'Rickard Green
* rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml
2015-03-20Implement ethread events with timeoutRickard Green
2014-12-16Merge branch 'lukas/erts/non-blocking-shell'Lukas Larsson
* lukas/erts/non-blocking-shell: erts: Fix big-endian issue with printf_putc
2014-12-15erts: Fix big-endian issue with printf_putcLukas Larsson
On little-endian machines, doing &int will give the smallest byte which is what we want to give to write. But on big-endian it will give the highest byte, which will always be \000 here which results in write never doing any writes. So we have to cast c to an unsigned char before passing it to write.
2014-12-12Merge branch 'lukas/erts/non-blocking-shell'Lukas Larsson
* lukas/erts/non-blocking-shell: erts: Make sure IOV_MAX is enforced for writev erts: Make erts_printf work with non-blocking
2014-11-04erts: Make erts_printf work with non-blockingLukas Larsson
Now that stdout can be set as non-blocking by the ttsl driver we can no longer use putc and friends for the stdout/stderr streams. Therefore we fallback on write. OTP-12239
2014-10-19Fix bug in FreeBSD topology detection codePaul Guyot
Code incorrectly relied on undefined C behavior. Clang and gcc 4.9 do not behave as code expected. This affected cores and processors detection on FreeBSD.
2014-06-30erts: Separate ethread inlining from ethread.hBjörn-Egil Dahlberg
The commit adb5dc0090bc419e2c4c1250653badbddeb6263b (ETHR_FORCE_INLINE) broke some platforms without adequate thread support.
2014-06-13Merge branch 'sverk/ethr_aux-cache-align-bug' into maintSverker Eriksson
* sverk/ethr_aux-cache-align-bug: erts: Fix cache line alignment bug for ts_event_pool
2014-06-04erts: Fix cache line alignment bug for ts_event_poolSverker Eriksson
2014-02-28Add ETHR_FORCE_INLINE define to hide compiler specific directivesJani Hakala
Some win32 specific code does not compile with gcc (mingw-w64) since '__forceinline' is not supported by gcc. This can be avoided by defining a new macro ETHR_FORCE_INLINE similar to ETHR_INLINE.
2014-02-24ose: Cleanup cleanup of mutex selection definesLukas Larsson
2014-02-24ose: Cleanup of mutex selection definesLukas Larsson
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22Merge branch 'sverk/win-64-pointer-fix'Sverker Eriksson
* sverk/win-64-pointer-fix: erts: Correct term type for printf %T erts: Correct internal printf integer type for win64 erts: Correct some printf type formatting erts: Fix type bug in get_proc_affinity for windows OTP-10887 Forgot this ticket for sverk/erlang_pid-revert: OTP-10885
2013-02-21erts: Correct term type for printf %TR. Blaine Whittle
2013-02-21erts: Correct internal printf integer type for win64R. Blaine Whittle
2013-02-20erts: Fix type bug in get_proc_affinity for windowsR. Blaine Whittle
2013-02-13Fix memory leak in error caseLukas Larsson
2013-01-28Revert "erts: Remove forgotten vxworks includes"Björn-Egil Dahlberg
This reverts commit 624751813b30a367c8255e86f26f7342aeb33cbc. Overzealous removal of vxworks includes
2013-01-23Fix clang compiler warnings on FreeBSD in ertsPatrik Nyblom
The following are deliberately left, as I have only a list of compiler warnings and no system to test on: hipe/hipe_x86_signal.c:264:5: warning: no previous prototype for function '_sigaction' [-Wmissing-prototypes] int __SIGACTION(int signum, const struct sigaction *act, struct sigaction *oldact) ^ hipe/hipe_x86_signal.c:222:21: note: expanded from macro '__SIGACTION' ^ 1 warning generated. sys/unix/sys_float.c:835:16: warning: declaration of 'struct exception' will not be visible outside of this function [-Wvisibility] matherr(struct exception *exc) ^ sys/unix/sys_float.c:835:1: warning: no previous prototype for function 'matherr' [-Wmissing-prototypes] matherr(struct exception *exc) ^ 2 warnings generated. drivers/unix/unix_efile.c:1504:11: warning: implicit declaration of function 'sendfile' [-Wimplicit-function-declaration] retval = sendfile(in_fd, out_fd, *offset, SENDFILE_CHUNK_SIZE, ^ 1 warning generated.
2012-10-10erts: Fix '#ifdef' for unused static functionsBjörn-Egil Dahlberg
On architectures where cpu topology was unavailable, warnings erupted due to unused static functions. Those warnings are now silenced.
2012-10-10erts: Remove forgotten vxworks includesBjörn-Egil Dahlberg
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-21erts: Fix bug in erts_printf for %s with precisionSverker Eriksson
Valgrind complains "Conditional jump or move depends on uninitialised value" when strlen steps past given string maxlen (precision).
2012-04-04Increase ethr event and lock counting constants to allow at least +A 1024.Rick Reed
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-22Update dtrace for changes in R15Björn-Egil Dahlberg
2012-03-22Add DTrace support for OS X, Solaris, and Linux (via SystemTap), 3/4Scott Lystig Fritchie
Add probes to the virtual machine, except (mostly) the efile_drv.c driver and other file I/O-related source files.
2012-03-15erts: Fix memory corruption when reading topology infoSverker Eriksson
If the number of processors actually found while reading sysfs is lower than the configured value, we realloc() the cpuinfo array to the smaller size, but we then iterate it using the original configured size, thus corrupting memory beyond the allocated block.
2012-03-15Merge branch 'rickard/barriers/OTP-9922' into maintRickard Green
* rickard/barriers/OTP-9922: Remove newly introduced excessive barrier in erts_thr_progress_later() Fix implementation with ddrb barriers
2012-03-12Fix implementation with ddrb barriersRickard Green
2012-03-09erts: Fix crash on Linux if /sys/devices/system/node is not readableSverker Eriksson
Fallback on using /sys/devices/system/cpu to get cpu topology, as is already done when node directory doesn't exist.