Age | Commit message (Collapse) | Author |
|
|
|
* msantos/epmd-IPv6-node-reg2/PR-864/OTP-13364:
epmd: support IPv6 node registration
|
|
Fix mistakes found by 'xmllint'.
|
|
Allow IPv6 nodes to register with and query epmd. On systems with
IPv6 support:
* epmd listens on both the IPv4 and IPv6 ANY or loopback sockets
* the epmd cli client connects to epmd over the IPv6 loopback
* distributed nodes started with "-proto_dist inet6_tcp" will register
with epmd over IPv6
To work on IPv6 capable systems that have IPv6 support disabled,
epmd ignores errors opening the socket if the protocol is not
supported. Similarly, the epmd client will fall back to IPv4 if the IPv6
socket is not available.
Update the minimum supported version of Windows to Windows Vista to
support IPv6.
|
|
192c4a80c broke the build on at least Debian/Hurd and Debian/kFreeBSD,
because it's not linux but still using glibc. To fix it, test for
__GLIBC__ in addition to __linux__.
|
|
This reverts commit 192c4a80c7d6fe9949aecb864901c4a3d9549f36.
This breaks on Debian/Hurd, Debian/kFreeBSD, and possibly other
platforms as well. Will be solved differently in a follow-up commit.
|
|
|
|
|
|
To fix conditional selection of the actually available gethostbyname_r
and gethostbyaddr_r, we replace __GLIBC__ with __linux__. @zenhack
tested this to work with gcc and clang targeting glibc, uclibc, musl,
and bionic.
The proper way to check this is through configure.in.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Erlang does not accept these values, so we return an error in the C
interface rather than letting them through to the Erlang VM, which
rejects the message with a somewhat cryptic "bad external term".
|
|
|
|
|
|
|
|
Distribute aclocal.m4, install-sh, config.guess, and config.sub
to applications at build time instead of having multiple identical
copies committed in the repository.
|
|
* rickard/libatomic_ops_improvements/OTP-12302:
Implement support for double word atomics using libatomic_ops
Improve usage of libatomic_ops for word size atomics
|
|
Turns out that isfinite emits a function call and not
an instruction in gcc, this makes estone float arith
about 50-75% slower. finite emits the instruction so
we use that instead.
|
|
Use AO_fetch_compare_and_swap*() when present
|
|
OS X Mavericks builds result in a number of warnings about finite() being
deprecated, like these:
beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations]
ERTS_FP_ERROR(p, f1.fd, goto badarith);
^
sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR'
^
sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR'
^
/usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
Add checks to use isfinite() instead of finite() where available. Verified
on OS X Mavericks 10.9.5 and Ubuntu 12.04.
|
|
|
|
|
|
|
|
|
|
|
|
Similar to debugging with Valgrind, it's very useful to enable
-fsanitize= switches to catch bugs at runtime.
$ ./configure
Result: no sanitizer enabled
$ ./configure --enable-sanitizers
Result: -fsanitize=address,undefined
$ ./configure --enable-sanitizers=address,thread,undefined
Result: -fsanitize=address,thread,undefined
$ ./configure --enable-sanitizers=undefined
Result: -fsanitize=undefined
|
|
|
|
* fenek/fix/vstudio_macro:
Add Visual Studio macros to erl_driver.h and ei.h
|
|
* Check of atomics on bsd
* Add --enable-systemd for epmd
* Remove unused --enable-tsp option
|
|
|
|
|
|
* 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
|
|
|
|
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI
using Android NDK. Port emulator and core application to support target
HW platform. Exclude any add-on services required for OTP platform deployment
into target hardware due to device fragmentation and jail-break requirements.
* fix erts/emulator/beam/sys.h
Disable redefinition of __noreturn macro
* port erts/emulator/sys/unix/erl_child_setup.c
Use techniques proposed by https://code.google.com/p/erlang4android to
access system properties
* fix erts/emulator/sys/unix/erl_unix_sys_ddll.c
The static linking of emulator cannot find dlerror(), dlopen() symbols
* port erts/emulator/sys/unix/sys.c
make path to shell configurable at build time
* port erts/etc/common/Makefile.in
disable librt for *-linux-androideabi
* port erts/lib_src/pthread/ethread.c
Use techniques proposed by https://code.google.com/p/erlang4android to
disable emulator crash if kernel threads are on. Replace unreliable
pthread_sigmask() by sigprocmask()
* port lib/erl_interface/src/connect/ei_connect.c
Disable call to undefined gethostid()
* port lib/erl_interface/src/connect/ei_resolve.c
Use gethostbyname_r() on Android platform
|
|
Ensure all are "normal" versions according to the new version scheme
introduced in OTP 17.0
|
|
This is just a preparation to allow detection of older nodes
that do not understand maps (R16 and older).
|
|
to be: 116,Arity, K1,V1,K2,V2,...,Kn,Vn
instead of: 116,Arity, K1,K2,...,Kn, V1,V2,....,Vn
We think this will be better for future internal map structures
like HAMT. Would be bad if we need to iterate twice over HAMT
in term_to_binary, one for keys and one for values.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to prepare for lists, tuples and ... maps!
|