aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
AgeCommit message (Collapse)Author
2010-11-26Merge branch 'ta/fix-native-looping' into devBjörn Gustavsson
* ta/fix-native-looping: error_handler: add no_native compiler directive
2010-11-22Merge branch 'ks/file_open-mode' into devBjörn Gustavsson
* ks/file_open-mode: Add the {encoding, _} options to file:open/2's modes
2010-11-09Write documentationRaimo Niskanen
2010-11-09Add testcaseRaimo Niskanen
2010-11-09Implement basic inet:getifaddrs/0Raimo Niskanen
2010-10-21Merge branch 'maint-r14' into devBjörn Gustavsson
* maint-r14: Prepare release Fix that the documentation top index generator can handle an Ericsson internal application group Teach -init_debug to print info about on_load handlers begin run Fix hang in on_load handlers in embedded mode Conflicts: erts/vsn.mk lib/kernel/vsn.mk
2010-10-21Prepare releaseErlang/OTP
2010-10-20Fix hang in on_load handlers in embedded modeBjörn Gustavsson
In embedded mode, all on_load handlers will be called after loading all modules but before starting any servers. Therefore, if an on_load handler calls any function in the code module that calls the code server (such as code:priv_dir/1), there will be a deadlock because the code server has not yet been started. Fix this problem by invoking the on_load handlers after having started most servers in the kernel application.
2010-10-14Add the {encoding, _} options to file:open/2's modesKostis Sagonas
Although the {encoding, encoding()} set of options is documented in the manual page of the 'file' module, they do not appear in the Mode description on that page nor in the mode() type declaration. The patch adds this information in both the code of the module and the documentation of the module. To avoid duplication, the declaration of the encoding() type is added to the 'unicode' module where it most probably belongs. While at it, added a proper declaration for posix(), took out the now superfluous information about the types of file:open/2 from the erl_bif_types module, and corrected the return type of file:open/2 so that it corresponds to the published documentation.
2010-10-05error_handler: add no_native compiler directiveTuncer Ayaz
As suggested by Mikael Pettersson: "I agree there _may_ be a recursion between the native-traps-to-beam mechanism and the error_handler module. However, the real problem is that the chosen mechanism (point to target MFA's BEAM code) isn't flexible enough to handle newer features like on_load or (apparently) a native-mode error_handler. My planned fix is to make remote calls link to the target's Export* instead, just like BEAM does, which should solve the problems. This will however require HiPE to use different kinds of trap-to-beam stubs for remote and local calls, since local calls must not and often cannot go via Export entries. A simpler workaround for the error_handler issue (which I couldn't reproduce) is to just never compile error_handler to native code. It's not like there's a lot to gain by doing that. Please try the patch below." Patch has been tested and confirmed to make --enable-native-libs useable. Signed-off-by: Mikael Pettersson <[email protected]> Acked-by: Tuncer Ayaz <[email protected]>
2010-09-14Update version numbersBjörn Gustavsson
2010-09-13Prepare releaseOTP_R14BErlang/OTP
2010-09-13Merge branch 'pan/epmd-vulnerabilities/OTP-8780' into devPatrik Nyblom
* pan/epmd-vulnerabilities/OTP-8780: Teach testcases to survive TIME_WAIT overload Update erl_interface doc and testsuite for epmd changes Restore null termination of input buffer Teach testcase epmd_SUITE:too_large to accept econnaborted Teach epmd_cli.c to not respond 'Killed' when killing denied Calculate minimal packet size for ALIVE2 requests correctly Document epmd and it's options properly and fixup help text Fix anomalies in epmd not yet reported as security issues Remove two buffer overflow vulnerabilities in EPMD Remove all support for ancient EPMD protocol Remove very old protocol from EPMD Conflicts: lib/erl_interface/src/epmd/epmd_port.c
2010-09-13Add line macros to gen_udp_SUITE:connectPatrik Nyblom
2010-09-10Remove warnings for clashes with new autoimported BIFsPatrik Nyblom
2010-09-09Make gen_tcp:recv/2 consistent with ssl:recv/2Björn Gustavsson
When the HTTP packet mode has been enabled for a socket, the ssl and gen_tcp modules have different error indications when there is an error while parsing the HTTP header: ssl:recv(SSLSocket, 0) -> {ok, {http_error, _Str}} gen_tcp:recv(Socket, 0) -> {error, {http_error, _Str}} We have decided to change gen_tcp:recv/2 to behave the same way as ssl:recv/2. That means that there will be always be an ok tuple if data could be succefully read from the socket, and an error tuple if there was a read error at the socket level.
2010-09-07Merge branch 'ph/auto_recognize_ipv6' into devBjörn Gustavsson
* ph/auto_recognize_ipv6: Add tests Let an 8-tuple given as ip_address() for gen_tcp/gen_udp/gen_sctp imply 'inet6' OTP-8822
2010-09-06Merge branch 'ms/inet-bug-fixes' into devBjörn Gustavsson
* ms/inet-bug-fixes: inet: support retrieving MAC address on BSD inet: fix getservbyname buffer overflow inet: fix ifr_name buffer overflow inet: null terminate ifr_name buffer OTP-8816
2010-09-06Add testsRaimo Niskanen
Conflicts: lib/kernel/test/gen_sctp_SUITE.erl
2010-09-06Let an 8-tuple given as ip_address() for gen_tcp/gen_udp/gen_sctp imply 'inet6'Per Hedeland
Currently an 8-tuple representing an IPv6 address is not accepted by gen_tcp:listen/2, gen_tcp:connect/3,4, gen_udp:open/2, or gen_sctp:open/1,2, unless the 'inet6' option is also given. This means that an application that has obtained the address, e.g. from configuration that allows for either IPv4 or IPv6, must always check the type of the address before passing it to these functions. Letting the functions infer 'inet6' from the 8-tuple, in case other options do not override this choice, improves usability.
2010-09-03inet: support retrieving MAC address on BSDMichael Santos
On systems supporting getaddrinfo(), support looking up the MAC address from inet:ifget/2. The results have the same quirks as with Linux: if the MAC address is longer than 6 bytes (e.g., fw0 under Mac OS X), the address is truncated; if the interface does not have a MAC address (e.g., lo0), an address consisting of 0's is returned.
2010-09-02Merge branch 'maint-r13' into devHans Bolinder
Conflicts: lib/kernel/doc/src/notes.xml lib/kernel/vsn.mk
2010-09-02Merge branch 'rani/sctp-sndrcvinfo/OTP-8795' into devRaimo Niskanen
* rani/sctp-sndrcvinfo/OTP-8795: Fix xfer_active close expection for Solaris behaviour Keep default #sctp_sndrcvinfo{} fields on gen_sctp:send/4 Fill in sinfo_assoc_id in struct sctp_sndrcvinfo for getopt() Conflicts: lib/kernel/test/gen_sctp_SUITE.erl
2010-09-02Merge branch 'rani/sctp-linger-bugfix/OTP-8726' into devRaimo Niskanen
* rani/sctp-linger-bugfix/OTP-8726: Fix SCTP linger option
2010-09-01Prepare releaseErlang/OTP
2010-09-01Merge branch 'hb/kernel/net_set_ticktime/OTP-8787' of ../hasse_otp into HEADErlang/OTP
* 'hb/kernel/net_set_ticktime/OTP-8787' of ../hasse_otp: Fix a bug that could cause the net_kernel process to crash.
2010-09-01Merge branch 'maint-r13' into devBjörn Gustavsson
* maint-r13: Remove copyright headers in vsn.mk files Conflicts: lib/appmon/vsn.mk lib/erl_docgen/vsn.mk lib/inets/vsn.mk lib/kernel/vsn.mk lib/reltool/vsn.mk lib/ssl/vsn.mk lib/stdlib/vsn.mk lib/tools/vsn.mk lib/tv/vsn.mk lib/xmerl/vsn.mk
2010-09-01Remove copyright headers in vsn.mk filesBjörn Gustavsson
Copyright notices serve no useful purpose in vsn.mk files, and only complicate scripts that automatically update version numbers.
2010-08-31Fix xfer_active close expection for Solaris behaviourRaimo Niskanen
2010-08-31Keep default #sctp_sndrcvinfo{} fields on gen_sctp:send/4Raimo Niskanen
2010-08-31Remove all support for ancient EPMD protocolPatrik Nyblom
2010-08-31Fix SCTP linger optionRaimo Niskanen
inet:setopts(S, [{linger,{true,2}}]) returned {error,einval} for SCTP sockets. The inet_drv had a bug when checking the option size.
2010-08-25Fix a bug that could cause the net_kernel process to crash.Hans Bolinder
A bug introduced in kernel-2.13.5.3 has been fixed. If running net_kernel:set_net_ticktime/1 twice within the TransitionPerod the second call caused the net_kernel process to crash with a badmatch.
2010-08-20kernel: Patch 1124Hans Bolinder
OTP-8686 A bug introduced in kernel-2.13.5.3 has been fixed.
2010-08-20kernel: Patch 1121Hans Bolinder
OTP-8643 Under certain circumstances the net kernel could hang. (Thanks to Scott Lystig Fritchie.)
2010-08-20kernel: Patch 1109Rickard Green
OTP-8502 A race condition in <c>os:cmd/1</c> could cause the caller to get stuck in <c>os:cmd/1</c> forever.
2010-08-19Merge branch 'hb/type_reference/OTP-8733' into devHans Bolinder
* hb/type_reference/OTP-8733: reference() substituted for ref() in docs
2010-07-29Merge branch 'cg/small-typos' into devBjörn Gustavsson
2010-07-29Merge branch 'pg/load-native-code-for-early-modules' into devBjörn Gustavsson
OTP-8750
2010-07-28Load native code for modules loaded before the code serverPaul Guyot
When configuring erlang with --enable-native-libs, some core modules are compiled with hipe, yet because they are loaded before the code server, their native code is not loaded. The fix consists in quietly trying to load the native code for all loaded modules just after the code server is started.
2010-07-26inet: fix getservbyname buffer overflowMichael Santos
The byte holding the length of the interface name for the getservbyname/2 function is used in a signed context and can become negative, causing the buffer to be overrun. Make the same change for getservbyport/2. Test case: inet:getservbyname(list_to_atom(lists:flatten(lists:duplicate(128, "x"))), tcp).
2010-07-26inet: fix ifr_name buffer overflowMichael Santos
The byte holding the length of the interface name for the ifget/2 functions is used in a signed context and can become negative, causing the ifreq.ifr_name buffer to be overrun. Test case: inet:ifget(lists:duplicate(128, "x"), [addr]).
2010-07-26Fix typos in the distribution handshake docMichael Santos
2010-07-26Fix minor typos and errors in documentationCristian Greco
2010-07-08reference() substituted for ref() in docsHans Bolinder
2010-07-07Merge branch 'rani/sctp-udp-recv-error' into devRaimo Niskanen
* rani/sctp-udp-recv-error: Fix inet_drv to detect passive mode UDP errors for SCTP builds
2010-07-07Fix inet_drv to detect passive mode UDP errors for SCTP buildsRaimo Niskanen
Debug and patch by Per Hedeland for R13B04 on erlang-patches: Connected UDP (and handling of any other errors in UDP recv()) is broken in passive mode for all SCTP-enabled builds.
2010-07-07Merge branch 'ta/filetypo' into devRaimo Niskanen
* ta/filetypo: Correct trivial typos in file manual
2010-07-07Merge branch 'ks/auth-specs' into devRaimo Niskanen
* ks/auth-specs: auth: Fix types and specs
2010-07-05gen_sctp: Fix documentation typoRaimo Niskanen