aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2011-04-05Merge branch 'pan/run_erl_race_creating_fifo/OTP-9164' into devPatrik Nyblom
* pan/run_erl_race_creating_fifo/OTP-9164: Fix race in pipe creation. Two simultaneous node starts caused failure
2011-04-05support new SDKs in find_redist.sh and fallback to $ERL_TOP as last resortDave Cottlehuber
find_redist.sh searches for the matching MS VC++ redistributable runtime in likely places. Patch adds support for MS Windows SDK 7.0 and 7.1, used in VS2008 and VS2010. Also supports putting vcredist_x86.exe in $ERL_TOP/.. or $ERL_TOP
2011-04-05Merge branch 'egil/estone-exported-fix' into devBjörn-Egil Dahlberg
* egil/estone-exported-fix: Fix unexported function in estone testcase
2011-04-05Merge branch 'cg/fix-pointer-dereference' into devHenrik Nord
* cg/fix-pointer-dereference: Fix some wrong pointer dereferences OTP-9194
2011-04-04Merge branch 'ta/driver_entry-typos-re' into devHenrik Nord
* ta/driver_entry-typos-re: Remove gratuitous paren in driver_entry OTP-9192
2011-04-04Fix unexported function in estone testcaseBjörn-Egil Dahlberg
2011-04-04Merge branch 'gl/erts-doterlang-docs' into devHenrik Nord
* gl/erts-doterlang-docs: Add back documentation on .erlang processing OTP-9189
2011-04-01Merge branch 'sverker/config-hipe-halfword-prevent' into devSverker Eriksson
* sverker/config-hipe-halfword-prevent: Prevent configuration of hipe and halfword emulator together
2011-03-30Remove gratuitous paren in driver_entryTuncer Ayaz
2011-03-30Merge branch 'hw/call-chmod-without-f' into devHenrik Nord
* hw/call-chmod-without-f: Call chmod without the "-f" flag Conflicts: erts/emulator/test/Makefile lib/asn1/test/Makefile lib/crypto/test/Makefile lib/debugger/test/Makefile lib/docbuilder/test/Makefile lib/edoc/test/Makefile lib/erl_interface/test/Makefile lib/inviso/test/Makefile lib/parsetools/test/Makefile lib/percept/test/Makefile lib/ssl/test/Makefile lib/syntax_tools/test/Makefile lib/test_server/test/Makefile lib/tools/test/Makefile OTP-9170
2011-03-29Fix race in pipe creation. Two simultaneous node starts caused failurePatrik Nyblom
2011-03-29Fix duplicate entries in stacktraces after calling certain BIFsBjörn Gustavsson
Calling a BIF thaf is called as a function (such as process_info/{1,2}) would leave a non-zero value in c_p->cp, which would lead to duplicate entries in the stacktrace.
2011-03-29BEAM loader: Simplify handling of the func_info/3 instructionBjörn Gustavsson
For some historical reason, the transformation of a func_info/3 instruction to the internal i_func_info/4 instruction is more involved than it needs to be. Remove the gen_func_info() function in the loader and use a simple transformation.
2011-03-25Merge branch 'pan/valgrind_xml_log' into devPatrik Nyblom
* pan/valgrind_xml_log: Make xml valgrind messages end up in xml log OTP-9079
2011-03-25Merge branch 'pan/tcp_send_timeout/OTP-9145' into devPatrik Nyblom
* pan/tcp_send_timeout/OTP-9145: Add testcase Teach tcp_recv not to cancel send timer
2011-03-25Merge branch 'pan/system_info_procs_crash/OTP-9140' into devPatrik Nyblom
* pan/system_info_procs_crash/OTP-9140: Make erts_printf %T not recurse on C stack Corrected fd_driver and cleaned up some really old code in win32/sys.[ch]
2011-03-25Merge branch 'pan/win_init_restart_oldshell/OTP-9139' into devPatrik Nyblom
* pan/win_init_restart_oldshell/OTP-9139: Add testcase Teach win32/sys.c (fd-driver) not to leak readers causing init:restart to fail Make Erlang build with Latest MS SDK, 7.1 (and VStudio 2010)
2011-03-25Merge branch 'pan/tcp_send_timeout/OTP-9145' of super:pan_otp into ↵Patrik Nyblom
pan/valgrind_xml_log
2011-03-25Fix two typos in erlsrv log messagesTuncer Ayaz
2011-03-25Fix typo in epmd helpTuncer Ayaz
2011-03-25erts: Fix doc typos, duplication and readabilityTuncer Ayaz
2011-03-24add support for checking if an ERL_NIF_TERM is an exceptionSteve Vinoski
Add the enif_is_exception function to allow callers to determine whether an ERL_NIF_TERM represents an exception. (Currently the only supported exception is badarg since only enif_make_badarg exists, but this will likely be expanded in future releases.) This allows NIF code to call other NIF functions that return ERL_NIF_TERM and properly check to see if the returned terms are exceptions. Without the enif_is_exception function, developers have to create their own means of checking whether a function creates an exception, such as returning boolean success/failure indicators or some other special value indicating that an exception is in effect. The declaration of enif_is_exception in erl_nif_api_funcs.h respects the order of declarations required to keep compatibility on Windows. Add a new test to verify the operation of enif_is_exception. Modify the erl_nif man page to add a description of enif_is_exception and also to clarify the requirements of calling the enif_make_badarg function. If code calls enif_make_badarg, the env passed in gets set with exception information and so the return value of the calling function MUST be the badarg term returned from enif_make_badarg. Also clarify that the result of enif_make_badarg may be passed only to enif_is_exception and not to any other NIF API functions.
2011-03-21Make xml valgrind messages end up in xml logPatrik Nyblom
2011-03-21Teach tcp_recv not to cancel send timerPatrik Nyblom
2011-03-21Teach win32/sys.c (fd-driver) not to leak readers causing init:restart to failPatrik Nyblom
2011-03-21Make Erlang build with Latest MS SDK, 7.1 (and VStudio 2010)Patrik Nyblom
2011-03-17Make erts_printf %T not recurse on C stackPatrik Nyblom
2011-03-17Prevent configuration of hipe and halfword emulator togetherSverker Eriksson
If not explicitly enabled, hipe is auto-disabled for halfword emulator. Configuration fails if both are explicitly enabled.
2011-03-16erts_printf %be to print integers of size EtermSverker Eriksson
Existing %bp to print pointer size integers does not work in halfword emulator to print Eterm size integers.
2011-03-16Fix use of type BeamInstr in hipe_debug.cSverker Eriksson
2011-03-16erts: Remove unused variablesTuncer Ayaz
2011-03-16Update version numbersBjörn-Egil Dahlberg
2011-03-14Prepare releaseOTP_R14B02Erlang/OTP
2011-03-11Corrected fd_driver and cleaned up some really old code in win32/sys.[ch]Patrik Nyblom
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Merge branch 'pg/hipe-remove-constants-pool' into devNiclas Axelsson
* pg/hipe-remove-constants-pool: Remove hipe constants pool OTP-9128
2011-03-11Merge branch 'bjorn/binary-overflow/OTP-9117' into devBjörn Gustavsson
* bjorn/binary-overflow/OTP-9117: Fix 18 exabyte memory allocation failure
2011-03-10Merge branch 'pg/fix-hibernate-with-hipe' into devSverker Eriksson
* pg/fix-hibernate-with-hipe: Update copyright years Fix NULL-free bug in hibernate on debug emulator Fix several bugs related to hibernate/3 and HiPE Conflicts: erts/emulator/test/hibernate_SUITE.erl OTP-9125
2011-03-10Update copyright yearsSverker Eriksson
2011-03-10Fix NULL-free bug in hibernate on debug emulatorSverker Eriksson
2011-03-10Merge branch 'sverker/valgrind-new-suppressions' into devSverker Eriksson
* sverker/valgrind-new-suppressions: Make halfword emulator with valgrind target allocate low memory Add erts_alloc_permanent_cache_aligned to supress valgrind
2011-03-10Merge branch 'rickard/scheduler-wait/OTP-9105' into devRickard Green
* rickard/scheduler-wait/OTP-9105: The emulator could get into a state where it didn't check for I/O.
2011-03-09Make halfword emulator with valgrind target allocate low memorySverker Eriksson
Limit ERTS_MSEG_FAKE_SEGMENTS (that is otherwise set for valgrind target) to not apply to low memory needed by halfword emulator. This will reduce the fault detection capability of valgrind for low memory. Also correct a bug in the initial mmap and make sure the returned memory region does not reach into high memory.
2011-03-09Merge branch 'sverker/clarify_nif_resource_doc' into devSverker Eriksson
* sverker/clarify_nif_resource_doc: clarify NIF resource object deallocation documentation
2011-03-09clarify NIF resource object deallocation documentationSteve Vinoski
In the erl_nif documentation, clarify how and when NIF resource objects can be deallocated. Specifically, add focus for the case of calling enif_release_resource immediately after obtaining a resource term from enif_make_resource, since this is likely to be a common approach NIFs use to manage resources. Also fix a couple misspellings in the erl_nif documentation.
2011-03-09Fix 18 exabyte memory allocation failureBjörn Gustavsson
The new_binary() function takes a size argument that is an int. In the 64-bit emulator (sizeof(int) == 4, sizeof(Uint) == 8), any sizes >= 0x8000000 become 0xffffffff80000000 and above and triggers a memory allocation failure. Change the type of the size argument to Uint, and change any callers that cast the argument to an int. Correction-by: Jon Meredith
2011-03-08The emulator could get into a state where it didn't check for I/O.Rickard Green
2011-03-07Merge branch 'bjorn/erts/fix-fun-call/OTP-9095' into devBjörn Gustavsson
* bjorn/erts/fix-fun-call/OTP-9095: erts: Initialize register that may be referenced by garbage collection
2011-03-04Merge branch 'ks/process_status' into devNiclas Axelsson
* ks/process_status: Document exiting and garbage_collecting process statuses OTP-9102
2011-03-04erts: Initialize register that may be referenced by garbage collectionBjörn Gustavsson
The call_fun() function in the BEAM emulator is supposed to to put the fun term in the x register following the actual arguments and environment for the fun. But if the fun is not loaded and a call to the error_handler:undefined_lambda/3 function is set up, the x(3) register will not be initialized. The lack of initialization is very unlikely to cause a problem in practice, because all of the following things must happen: 1) An unloaded fun must be called (i.e. the fun must have been received from another node or from a file or dets table). 2) The process must be scheduled out before the call to the error_handler:undefined_lambda/3 function can take place. 3) The process must be garbage collected before the process is scheduled in. 4) The x(3) register must contain a stale cons or box pointer that happens to point into the the heap of the currently executing process. (Because of the literal pool, the GC will never copy anything that is outside of the heap.) I was not able to write a test case that would force an emulator crash.