aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
AgeCommit message (Collapse)Author
2010-04-29Merge branch 'ks/kernel' into devErlang/OTP
* ks/kernel: kernel: Clean up as suggested by tidier OTP-8606 ks/kernel
2010-04-28kernel: Clean up as suggested by tidierKostis Sagonas
2010-04-19code:clash/0: match correct return value from erl_prim_loader:list_dir/1Tuncer Ayaz
erl_prim_loader:list_dir/1 returns error on failure and not {error,_}. Also update tests in code_SUITE:clash/1. Defect was introduced with fix for listing .ez archives in 49da83de4b. Initial code:clash/0 tests added in 79194d5fa7. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-04-14Merge branch 'jb/inet6-dist' into devErlang/OTP
* jb/inet6-dist: Support IPv6 addresses in long host names Fix implementation of IPv6 TCP distribution protocol Fix compilation of epmd with IPv6 enabled OTP-8575 jb/inet6-dist
2010-04-13Support IPv6 addresses in long host namesJohn-Mark Bell
When distributing over IPv4, node@<IPv4-address> (e.g. [email protected]) works correctly. Permit node@<IPv6-address> (e.g. node@::1) when distributing over IPv6.
2010-03-30Merge branch 'mh/doc-inet-getopts' into devErlang/OTP
* mh/doc-inet-getopts: Doc fix: inet:getopts/2 returns {ok, OptionValues}, not just OptionValues
2010-03-26Doc fix: inet:getopts/2 returns {ok, OptionValues}, not just OptionValuesMagnus Henoch
2010-03-23Fix implementation of IPv6 TCP distribution protocolJohn-Mark Bell
TCP distribution over IPv6 did not work. The TCP socket was forcibly closed before any communication could take place. The following changes resolve this: * Make the kernel use the inet6 variant of accept. * Use inet6 variants of TCP socket functions. * Ensure that the inet6 address family is used in all cases.
2010-03-19OTP-8527 Global no longer supports R11B nodesHans Bolinder
As of this version, the global name server no longer supports nodes running Erlang/OTP R11B.
2010-03-19kernel: document the file:change_mode/2 functionAndrey Pampukha
2010-03-16Merge branch 'ml/documentation_apostrophe_fix' into devErlang/OTP
* ml/documentation_apostrophe_fix: Correct grammatical problems in conjunction with 'its' Change all incorrect occurrences of it's to its OTP-8523 ml/documentation_apostrophe_fix
2010-03-16Correct grammatical problems in conjunction with 'its'Matthias Lang
2010-03-16Change all incorrect occurrences of it's to itsMatthias Lang
The documentation (*.xml) in the otp tree has a common grammatical problem, "it's" and "its" are often interchanged. That is annoying for some readers. This commit consists entirely of "it's" -> "its" changes. I went through every .xml file in the tree. If there are any remaining bugs of this type, it's because I missed them, not because I didn't look.
2010-03-10OTP-8502 os:cmd hangRickard Green
A race condition in os:cmd/1 could cause the caller to get stuck in os:cmd/1 forever.
2010-03-09Merge branch 'ks/types' into devErlang/OTP
* ks/types: file.hrl: Move out type declarations kernel: Add types and specs OTP-8494 ks/types
2010-03-07file.hrl: Move out type declarationsKostis Sagonas
Having various type declarations in the file.hrl file was once upon a time necessary since the system could not really handle remote types. Now it can and these declarations should not be there but appear in file.erl instead. This means that files that need to use these types can refer to them using a remote type reference, and not having to include file.hrl - at least not for this reason.
2010-03-07kernel: Add types and specsKostis Sagonas
2010-03-02OTP-8471 kernel: race in disk_log_SUITEHans Bolinder
2010-02-24Update version for R14ARickard Green
2010-02-19Update release notesBjörn-Egil Dahlberg
2010-02-18OTP-8451 Harmless buffer overflow by one byte in asn1 and ram_file_drv.Sverker Eriksson
2010-02-14file.erl: Add a type to be used from other modulesKostis Sagonas
2010-02-10OTP-8418 user.erl (used in oldshell) is updated to handle unicode inPatrik Nyblom
prompt strings (io:get_line/{1,2}). io_lib is also updated to format prompts with the 't' modifier (i.e. ~ts instead of ~s).
2010-02-10Support the configure option --enable-native-libsKostis Sagonas
2010-02-10Merge branch 'mp/hipe_unified_loader' into ccase/r13b04_devErlang/OTP
* mp/hipe_unified_loader: hipe_unified_loader: only block SMP scheduling when necessary
2010-02-10Merge branch 'rani/inet_gethostbyname_fixes' into ccase/r13b04_devErlang/OTP
* rani/inet_gethostbyname_fixes: inet_res_SUITE: testcase fixes for legacy DNS resolver (Solaris 8) inet_res: /etc/resolv.conf: use domain as default search list inet: delayed/avoided read of /etc/resolv.conf and /etc/hosts inet_gethost_native: workaround for empty result hostname on MacOS X inet_res_SUITE: testcase fix for empty domain name inet:gethostbyname improved to parse IP strings and look up own hostname OTP-8426 The resolver routines failed to look up the own node name as hostname, if the OS native resolver was erroneously configured, bug reported by Yogish Baliga, now fixed. The resolver routines now tries to parse the hostname as an IP string as most OS resolvers do, unless the native resolver is used. The DNS resolver inet_res and file resolver inet_hosts now do not read OS configuration files until they are needed. Since the native resolver is default, in most cases they are never needed. The DNS resolver's automatic updating of OS configuration file data (/etc/resolv.conf) now uses the 'domain' keyword as default search domain if there is no 'search' keyword.
2010-02-09inet_res_SUITE: testcase fixes for legacy DNS resolver (Solaris 8)Raimo Niskanen
2010-02-09inet_res: /etc/resolv.conf: use domain as default search listRaimo Niskanen
When the search list option in /etc/resolv.conf was empty, the domain option was not used as default search domain. That has been fixed in this patch.
2010-02-09inet: delayed/avoided read of /etc/resolv.conf and /etc/hostsRaimo Niskanen
The 'file' and 'dns' lookup methods configuration files are now read and parsed at the time of the first lookup instead of at boot time when per default none of these lookup methods are used.
2010-02-09inet_gethost_native: workaround for empty result hostname on MacOS XRaimo Niskanen
On MacOS X the getaddrinfo function apparently can return a result without canonical hostname e.g when looking up a IPv6 address string as hostname. The receiving erlang code was not prepared for that and this patch does a workaround by using the search string as default value for canonical hostname.
2010-02-09inet_res_SUITE: testcase fix for empty domain nameRaimo Niskanen
2010-02-09inet:gethostbyname improved to parse IP strings and look up own hostnameRaimo Niskanen
Now inet:gethostbyname tries to parse the hostname as an IP string first if the 'native' lookup method is not used. One can also make the IP string parsing explicit using the new 'string' lookup method, or avoid it using the new pseudo lookup method 'nostring'. In R13B04 a bug was introduced when the gethostbyname code was rewritten, so if the native resolver was used and misconfigured to not be able to look up the own hostname, inet:gethostbyname also failed. This is now fixed.
2010-02-09hipe_unified_loader: only block SMP scheduling when necessaryMikael Pettersson
This avoids costly scheduling changes during module loading if native code is disabled in erts, or not present in the module being loaded. Signed-off-by: Mikael Pettersson <[email protected]>
2010-02-08Merge branch 'sc/sctp-connect-nowait' into ccase/r13b04_devErlang/OTP
* sc/sctp-connect-nowait: Implement a non-blocking SCTP connect OTP-8414 There are new gen_sctp:connect_init/* functions that initiate an SCTP connection without blocking for the result. The result is delivered asynchronously as an sctp_assoc_change event. (Thanks to Simon Cornish.)
2010-02-06Implement a non-blocking SCTP connectSimon Cornish
This patch adds a new set of functions - gen_sctp:connect_init/* that initiate an SCTP connection without blocking for the result. The result is delivered asynchronously as an sctp_assoc_change event. The new functions have the same API as documented for gen_sctp:connect/* with the following exceptions: * Timeout is only used to supervise resolving Addr (the peer address) * The possible return values are ok | {error, posix()} The caller application is responsible for receiving the #sctp_assoc_change{} event and correctly determining the connect it originated from (for example, by examining the remote host and/or port). The application should have at least {active, once} or use gen_sctp:recv to retrieve the connect result. The implementation of gen_sctp:connect suffers from a number of shortcomings which the user may avoid by using gen_sctp:connect_init and adding code to receive the connect result. First, irrespective of the Timeout value given to gen_sctp:connect, the OS attempts and retries the SCTP INIT according to various kernel parameters. If the Timeout value is shorter than the entire attempt then the application will still receive an sctp_assoc_change event after the {error, timeout} is returned from the initial call. This could be somewhat confusing (either to the application or the designer!) especially if the status is comm_up. Subsequent calls to connect before the OS has finished this process return {error, ealready} which may also be counter-intuitive. Second, there is a race-condition (documented in comments in inet_sctp.erl) that can cause the wrong sctp_assoc_change record to be returned to an application calling gen_sctp:connect. The race seriously affects connection attempts when using one-to-many sockets.
2010-02-06code_SUITE: add missing is_list(Config) guardBjörn Gustavsson
2010-02-06Add tests for code:clash/0Tuncer Ayaz
Add first batch of tests for code:clash/0. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-02-05Fix handling of archive (.ez) files in code:clash/0Tuncer Ayaz
code:clash/0 did not take into account .ez files when listing contents of code path entries. Using erl_prim_loader:list_dir/1 instead of file:list_dir/1 fixes the problem. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-02-05Fix typo in kernel/test/code_SUITETuncer Ayaz
There was a small typo in the doc function clause of ext_mod_dep. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-01-31kernel/src/Makefile: fix broken 'clean' targetBjörn Gustavsson
2010-01-31Merge branch 'bg/cleanup-tests' into ccase/r13b04_devErlang/OTP
* bg/cleanup-tests: file_SUITE: eliminate a warning for an unused variable kernel tests: modernize guard tests unicode_SUITE: replace deprecated concat_binary/1 with list_to_binary/1 stdlib tests: modernize guard tests Test suites: fix creation of Emakefiles
2010-01-29file_SUITE: eliminate a warning for an unused variableBjörn Gustavsson
2010-01-29kernel tests: modernize guard testsBjörn Gustavsson
2010-01-29Test suites: fix creation of EmakefilesBjörn Gustavsson
The Emakefiles in some test suite directories are only appended to, never created from scratch, which can cause problems especially when swithching branches in a git repository.
2010-01-27fix hipe loader SMP non-atomicity errorMikael Pettersson
Loading native code is a multi-step operation that needs to be atomic, but the HiPE loader failed to ensure that. This caused corruption of runtime system structure in some cases. Fix by blocking multi_scheduling around main loader entry points. Signed-off-by: Mikael Pettersson <[email protected]>
2010-01-27OTP-8387 Explicit top directories in archive files are now optional.Håkan Mattsson
For example, if an archive (app-vsn.ez) just contains an app-vsn/ebin/mod.beam file, the file info for the app-vsn and app-vsn/ebin directories are faked using the file info from the archive file as origin. The virtual direcories can also be listed. For short, the top directories are virtual if they does not exist.
2010-01-07OTP-8358 A race bug affecting pg2:get_local_members/1 has been fixed. TheHans Bolinder
bug was introduced in R13B03.
2009-12-13Test on_load functions that don't return 'ok'Björn Gustavsson
2009-12-13Change the expected return value for on_load functionsBjörn Gustavsson
An on_load function is supposed to return 'true' to indicate that the module should be loaded, and 'false' if it should be unloaded. But returning any other term, as well as causing an exception, will also unload the module. Since we don't like boolean values mixed with other values, change the expected return value as follows: * If 'ok' is returned, the module will remain loaded and become callable. * If any other value is returned (or an exception is generated), the module will be unloaded. Also, if the returned value is not an atom, send a warning message to the error_logger (using error_logger:warning_msg/2). The new interpretation of the return value means that an on_load function can now directly return the return value from erlang:load_nif/2.
2009-12-03Corrected CR and LF clarification in file:read_line, removed extra backslash.Patrik Nyblom