aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src
AgeCommit message (Collapse)Author
2011-09-01Merge branch 'dev' into majorHenrik Nord
2011-08-27Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4Filipe David Manana
The type is marked as a binary() or a string() but in practice it can be an iodata(). The test suite was updated to confirm the gen_tcp/2 and gen_udp:send/4 functions accept iodata() (iolists) packets.
2011-08-26Merge branch 'dev' into majorHans Bolinder
* dev: Improve types and specifications of the inet modules
2011-08-26Merge branch 'hb/inet_types_and_specs/OTP-9260' into devHans Bolinder
* hb/inet_types_and_specs/OTP-9260: Improve types and specifications of the inet modules
2011-08-26Merge branch 'dev' into majorBjörn Gustavsson
* dev: code: Optimize purge/1 and soft_purge/1 using check_old_code/1 Add erlang:check_old_code/1 check_process_code/2: Quickly return 'false' if there is no old code
2011-08-26code: Optimize purge/1 and soft_purge/1 using check_old_code/1Björn Gustavsson
While at it, eliminate an unnecessary use of throw/catch in the implementation of soft_purge/1.
2011-08-25Improve types and specifications of the inet modulesHans Bolinder
2011-08-16compiler: Don't create filenames starting with "./"Björn Gustavsson
In the location information tables in the run-time system, source filenames that are the same as the module name plus ".erl" extension are not stored explicitly, thus saving memory. To take advantage of that optimization, avoid complicating the names of files in the current working directory; specifically, make sure that "./" is not prepended to the name.
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-06-20Add more specs and typesHans Bolinder
An incorrect spec, rpc:yield/1, has been fixed.
2011-05-31Stop generating some unused clauses for make_dns_rr_opt/1 local to inet_dnsRaimo Niskanen
2011-05-24Modify two opaque typesHans Bolinder
Two opaque types that could cause warnings when running Dialyzer have been modified.
2011-05-17Remove unused variable warning in inet_resBjörn-Egil Dahlberg
2011-05-09Types and specifications have been modified and addedHans Bolinder
2011-04-21Do not UDP send when there is 0 ms left to wait for replyRaimo Niskanen
2011-04-21Check return values from UDP send functionsRaimo Niskanen
2011-04-21Cleanup timeout handling, fix bug for remaining time =:= 0Raimo Niskanen
2011-04-08Merge branch 'mk/net-kernel-epmd-return-list' into devHenrik Nord
* mk/net-kernel-epmd-return-list: Fix list returned by net_kernel:epmd_module OTP-9215
2011-04-05Merge branch 'ks/hipe-ppc64' into devHenrik Nord
* ks/hipe-ppc64: Enable HiPE by default when compiling for PPC64 Translate RTL to PPC code on PPC64 too Changes in ppc files for PPC64 Additions for the PPC64 backend Changes for the PPC64 backend Added loader for ppc64 New files for the 64-bit backends Cleanup tags OTP-9198
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Add spec for function that does not returnKostis Sagonas
2011-03-11Strenghen specKostis Sagonas
2011-03-11Introduce types to avoid duplication in specsKostis Sagonas
2011-03-11Add specs for functions that do not returnKostis Sagonas
2011-03-11Add specs for behaviour callbacksKostis Sagonas
2011-03-11Simplify two specsKostis Sagonas
2011-03-04Merge branch 'ks/code-spec-fixes' into devNiclas Axelsson
* ks/code-spec-fixes: Sanitize the specs of the code module OTP-9100
2011-03-02Fix dialyzer warning in os:start_port_srv_loopSverker Eriksson
Rewrote the code a bit to silence dialyzer. Seems dialyzer can't handle a function that either returns or loops forever depending on function argument.
2011-03-01Fix three dialyzer warnings in kernelSverker Eriksson
Joint effort by Kostis, pan, egil & sverker
2011-02-24Merge branch 'bjorn/fix-dialyzer-warnings' into devBjörn Gustavsson
* bjorn/fix-dialyzer-warnings: v3_kernel_pp: Eliminate dialyzer warning inet6_tcp_dist: Eliminate dialyzer warning for "tuple fun"
2011-02-24Merge branch 'bjorn/fix-os_find_executable/OTP-8983' into devBjörn Gustavsson
* bjorn/fix-os_find_executable/OTP-8983: Never allow os:find_executable/1 to return the path of directories
2011-02-23inet6_tcp_dist: Eliminate dialyzer warning for "tuple fun"Björn Gustavsson
Replace the "tuple fun" with an external fun.
2011-02-14Added loader for ppc64Kostis Sagonas
2011-02-14Fix -spec for file:write_file/3Magnus Henoch
Change type for second parameter from binary() to iodata(), since the function explicitly takes steps to accept lists as well as binaries.
2011-02-14Never allow os:find_executable/1 to return the path of directoriesBjörn Gustavsson
2011-01-31Sanitize the specs of the code moduleKostis Sagonas
After the addition of unicode_binary() to the file:filename() type, dialyzer started complaining about erroneous or incomplete specs in some functions of the 'code' module. The culprit was hard-coded information in erl_bif_types for functions of this module, which were not updated. Since these functions have proper specs these days and code duplication (pun intended) is never a good idea, their type information was removed from erl_bif_types. While doing this, some erroneous comments were fixed in the code module and also made sure that the code now runs without dialyzer warnings even when the -Wunmatched_returns option is used. Some cleanups were applied to erl_bif_types too.
2010-12-15Fix list returned by net_kernel:epmd_moduleMarkus Knofe
Function epmd_module of net_kernel returns a list instead of an atom, when the epmd_module-flag is used.
2010-12-03Merge branch 'ks/erl_bif_types-cleanup/OTP-8961' into devPatrik Nyblom
* ks/erl_bif_types-cleanup/OTP-8961: Fix type information of 'file' and 'code' modules Conflicts: lib/hipe/cerl/erl_bif_types.erl
2010-11-30Corrected testcases broken by unicode filenamesPatrik Nyblom
Also corrected type-info for bifs
2010-11-30Teach file to accept codepoints beyond 255.Patrik Nyblom
2010-11-30Handle binary file names and conversion of unicode stringsPatrik Nyblom
2010-11-29Teach filename to accept raw data and add filename enc option to emuPatrik Nyblom
2010-11-29Fix type information of 'file' and 'code' modulesKostis Sagonas
Dialyzer for a long time now has had hard-coded type information about key functions of the 'file' and 'code' modules in 'erl_bif_types'. Some of this information was not up-to-date according to the published Erlang/OTP documentation, while some other part contained small errors. Now that specs are available, this information should be moved to the corresponding files, not be hard-coded in erl_bif_types. This change takes out all information for the 'file' module and fixes some small errors in type information for the 'code' module.
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-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-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]>