aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
AgeCommit message (Collapse)Author
2012-01-27Move types and specs from erl_bif_types.erl to modulesHans Bolinder
2012-01-27Merge branch 'bjorn/erts/bif-stubs/OTP-9861'Björn Gustavsson
* bjorn/erts/bif-stubs/OTP-9861: beam_load.c: Allow stubs for BIFs beam_load.c: Don't show unnecessary context in errors beam_load.c: Remove useless call to next_heap_size() beam_load.c: apply/2 does not need a special case
2012-01-25Merge branch 'maint'Lukas Larsson
* maint: Look for port in priv/bin/arch/ as well as priv/bin/ Fix on_load handling in modules loaded by code:load_binary/3
2012-01-25Merge branch 'bjorn/kernel/on_load-bug/OTP-9875' into maintBjörn Gustavsson
* bjorn/kernel/on_load-bug/OTP-9875: Fix on_load handling in modules loaded by code:load_binary/3
2012-01-24beam_load.c: Allow stubs for BIFsBjörn Gustavsson
We want to be able to write type specifications for BIFs in the same way as for any other function. Currently, the type for BIFs need to be described in erl_bif_types. To avoid extending the compiler and Dialyzer with special directives for providing specifications for BIFs, we have decided to let the loader accept a local definition for a function which exists as a BIF. As an example, here is how a stub for lists:reverse/2 can be defined: -export([reverse/2]). -spec reverse([term()], term()) -> [term()]. reverse(_, _) -> erlang:nif_error(undef). Essentially, the loader will discard the local definition of reverse/2. Other functions in the same module must *not* do local calls to a BIF stub. If a local call to a BIF is found, the loader will refuse to load the module. That is, the following call is not allowed: reverse(List) -> reverse(List, []). but the following is: reverse(List) -> ?MODULE:reverse(List, []). A few words about the implementation. It turns out to be too complicated to actually discard the BIF stubs. Although it would be possibly with some jiggery pokery in ops.tab, the code would be difficult to maintain and it could slow down loading of modules that don't define BIFs (which are almost all modules). Therefore, the stub functions are kept in the loaded code, but their names in the func_info instruction are invalidated so that module_info(functions) can filter them out.
2012-01-24Merge branch 'maint'Hans Bolinder
* maint: Correct two contracts in gen_sctp.erl
2012-01-23Fix on_load handling in modules loaded by code:load_binary/3Björn Gustavsson
In "13.4 Running a function when a module is loaded" in the Reference Manual, it is said that: A process that calls any function in a module whose on_load function has not yet returned will be suspended until the on_load function has returned. That did not work if the module was loaded using code:load_binary/3. Instead, the callers would get an 'undef' exception.
2012-01-23Correct two contracts in gen_sctp.erlHans Bolinder
binary should be binary().
2012-01-18Merge branch 'maint'Björn-Egil Dahlberg
2012-01-18Merge branch 'raimo/64-bit-efile_drv/OTP-9820' into maintErlang/OTP
* raimo/64-bit-efile_drv/OTP-9820: file_SUITE: Assume 64-bit windows has enough memory erts: Badarg if port output overflows iov_len prim_file_SUITE: large_file success depends on wordsize file_SUITE: Increase timeout for large_file file_SITE,prim_file_SUITE: Accept old OpenBSD pecularity prim_file_SUITE: large_write - meaner test data and check result content file_SUITE: large_write - check mem size before creating huge binary erts: rewrite efile_writev to handle partial writes correctly erts: Bugfix - driver_deq freed wrong length due to short type (int) prim_file_SUITE: Add large_write/1 file_SUITE: Add large_write/1 file_SUITE: Refactor large_file/1 file_SUITE: Fix unix_free/1
2012-01-13Merge branch 'maint'Raimo Niskanen
2012-01-13Merge branch 'raimo/opu-fixes' into maintRaimo Niskanen
* raimo/opu-fixes: inet_res_SUITE: Improve portability of run-named
2012-01-09file_SUITE: Assume 64-bit windows has enough memoryRaimo Niskanen
Temporary workaround until there is a memory info function conveniantly usable from test suites.
2012-01-05inet_res_SUITE: Improve portability of run-namedRaimo Niskanen
2011-12-29Update appup files for kernel and stdlib for OTP R16Siri Hansen
The appup files shall allow upgrade from two major versions back, i.e. for R16 they shall match back to R14. They shall no longer match for R13.
2011-12-22Merge branch 'maint'Raimo Niskanen
2011-12-22Merge branch 'raimo/opu-fixes' into maintRaimo Niskanen
* raimo/opu-fixes: inet_res_SUITE: Go back to old way to kill test name server
2011-12-21prim_file_SUITE: large_file success depends on wordsizeRaimo Niskanen
Check VM wordsize to see if a driver command with data larger than 32-bit size is supposed to succeed. On wordsize 4 machines (32-bit) {error,einval} is expected since the total size passed to a driver can not exceed sizeof(ErlDrvSizeT).
2011-12-20file_SUITE: Increase timeout for large_fileRaimo Niskanen
Windows needs large timeout.
2011-12-20file_SITE,prim_file_SUITE: Accept old OpenBSD pecularityRaimo Niskanen
2011-12-20prim_file_SUITE: large_write - meaner test data and check result contentRaimo Niskanen
2011-12-20file_SUITE: large_write - check mem size before creating huge binaryRaimo Niskanen
2011-12-20prim_file_SUITE: Add large_write/1Björn Gustavsson
Test writing slightly more than 4GB as an io list with smaller binaries.
2011-12-20file_SUITE: Add large_write/1Björn Gustavsson
Test writing 2GB to a file in one go.
2011-12-20file_SUITE: Refactor large_file/1Björn Gustavsson
Factor out support functions from large_file/1 so that we can write other test cases that use large files.
2011-12-20file_SUITE: Fix unix_free/1Björn Gustavsson
unix_free/1 returned the total size of the disk, not the free space.
2011-12-16inet_res_SUITE: Go back to old way to kill test name serverRaimo Niskanen
2011-12-15Update version numbersBjörn-Egil Dahlberg
2011-12-15Update version numberBjörn-Egil Dahlberg
2011-12-12Prepare releaseErlang/OTP
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-09Merge branch 'raimo/64-bit-driver-api/OTP-9795'Björn Gustavsson
* raimo/64-bit-driver-api/OTP-9795: (22 commits) driver_SUITE.erl: Fix sys info drivers emulator test drivers: Conform to updated driver API runtime_tools's drivers: Conform to updated driver API ws's xwe_driver.c: Conform to updated driver API megaco's flex scanner: Conform to updated driver API seq_trace_SUITE_data/echo_drv.c: Conform to updated driver API erl_interface tests: Conform port_call_drv.c updated driver API erl_drv_thread_SUITE_data/testcase_driver.c: Conform to updated driver API float_SUITE_data/fp_drv.c: Conform to updated driver API port_SUITE_data/*_drv.c: Conform to updated driver API port_bif_SUITE_data/control_drv.c: Conform to updated driver API send_term_SUITE_data/send_term_drv.c: Conform to updated driver API system_profile_SUITE_data/echo_drv.c: Conform to updated driver API trace_port_SUITE_data/echo_drv.c: Conform to updated driver API Remove support for old drivers without ERL_DRV_EXTENDED_MARKER built-in drivers: Add ERL_DRV_EXTENDED_MARKER and version numbers Bump driver version to 2.0 erl_driver.h: Enlarge type on return value from call erl_driver.h: Enlarge types on driver callbacks output, control and call erl_driver.h: Enlarge types in driver output functions ... Conflicts: erts/emulator/test/driver_SUITE_data/monitor_drv.c erts/emulator/test/driver_SUITE_data/timer_drv.c
2011-12-09seq_trace_SUITE_data/echo_drv.c: Conform to updated driver APIBjörn Gustavsson
2011-12-08Merge branch 'pan/space_in_filename/OTP-9598'Patrik Nyblom
* pan/space_in_filename/OTP-9598: Teach os_SUITE:space_in_name to quote correctly on Windows
2011-12-08inet_res_SUITE: Improve nameserver handlingRaimo Niskanen
2011-12-08Merge branch 'lukas/bugs_and_tc_fixes'Lukas Larsson
* lukas/bugs_and_tc_fixes: Fix test_server test makefile for windows Only step pointer arity steps Link with LIBS after ETHR_LIBS Save +M<S>t data as true or false, not the number Return true/false instead of num for +M<S>t info Return correct format for info about sys_alloc Add explanatory text for tc failure OTP-9800
2011-12-08Merge branch 'ta/sendfile/OTP-9240'Lukas Larsson
* ta/sendfile/OTP-9240: Do not use async threads on DARWIN Fix cleanup when sendfile process crashes Return {error,closed} from sendfile if closed Do not use SFV_NOWAIT as it does not exist on all solaris Clarify some code comments Make solaris use sendfilev
2011-12-08Fix cleanup when sendfile process crashesLukas Larsson
When sendfile crashes during a send there should be no error_logger printouts about stolen fds.
2011-12-08Merge branch 'egil/file-info-opt-utc/OTP-7687'Björn-Egil Dahlberg
* egil/file-info-opt-utc/OTP-7687: (39 commits) Remove time_t specific test in prim_file_SUITE Update prim_file.beam and prim_zip.beam Add types for posixtime_to_universaltime and the reverse Set BASEYEAR to 1902 Set lower limit of years handled to 1601 Emulate localtime, gmtime and mktime to enable negative time_t Document file:*_file_info/2 Fix compiler warning in unix_efile.c Change name of bif universaltime_to_seconds/1 Change options to prim_file:*_file_info/* Remove dead code Catch errors from prim_file:*_file_info Testcase for utc <-> seconds conversion Fix negative time in seconds_to_universaltime/1 Remove OS taint from datetime conversion Add utc <-> seconds conversions bifs Let prim_file validate ctime in file_info Teach #file_info spec unix epochs for file times Add file_info_opt tests in prim_file_SUITE unix_efile: Zero is a valid number in utime ... Conflicts: erts/emulator/beam/erl_time_sup.c erts/emulator/sys/win32/erl_win_sys.h erts/emulator/sys/win32/sys_time.c
2011-12-08Remove time_t specific test in prim_file_SUITEBjörn-Egil Dahlberg
Remove time_t = Sint64 | Uint32 testcase only. The year 2040 does not exist on Sint32.
2011-12-08Document file:*_file_info/2Björn-Egil Dahlberg
* file:read_file_info/2 * file:write_file_info/3 Document options and time behavior.
2011-12-08Change options to prim_file:*_file_info/*Björn-Egil Dahlberg
* 'utc' changed to 'universal' * 'epoch' changed to 'posix' This change conforms to other naming already in OTP, e.g. erlang:universaltime_to_localtime/1.
2011-12-08Remove dead codeBjörn-Egil Dahlberg
2011-12-08Teach #file_info spec unix epochs for file timesBjörn-Egil Dahlberg
2011-12-08Add file_info_opt tests in prim_file_SUITEBjörn-Egil Dahlberg
2011-12-08Add explanatory text for tc failureLukas Larsson
2011-12-07Return {error,closed} from sendfile if closedLukas Larsson
If the socket is closed by the remote end, sendfile now returns {error,closed}.
2011-12-07Merge branch 'sverk/packet_size-http/OTP-9389'Sverker Eriksson
* sverk/packet_size-http/OTP-9389: erts: Remove truncation of http packet parsing and return error instead honor packet_size for http packet parsing to fix OTP-9389
2011-12-07Remove debug printoutHans Bolinder
2011-12-07Teach os_SUITE:space_in_name to quote correctly on WindowsPatrik Nyblom