aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-11-17Allow refc binaries in literal poolsBjörn Gustavsson
To simplify the implementation of literal pools (constant pools) for the R12 release, a shortcut was taken regarding binaries -- all binaries would be stored as heap binaries regardless of size. To allow a module containing literals to be unloaded, literal terms are copied when sent to another process. That means that huge literal binaries will also be copied if they are sent to another process, which could be surprising. Another problem is that the arity field in the header for the heap object may not be wide enough to handle big binaries. Therefore, bite the bullet and allow refc binaries to be stored in literal pools. In short, the following need to be changed: * Each loaded module needs a MSO list, linking all refc binaries in the literal pool. * When check_process_code/2 copies literals to a process heap, it must link each referenced binary into the MSO list for the process and increment the reference counter for the binary. * purge_module/1 must decrement the reference counter for each refc binary in the literal pool.
2011-11-17code_SUITE clean-up: Remove experimental 'constant_pool' optionBjörn Gustavsson
2011-11-17Merge branch 'bjorn/erts/code-loading/OTP-9720'Björn Gustavsson
* bjorn/erts/code-loading/OTP-9720: BEAM loader: Don't stop other schedulers until truly needed BEAM loader: Refactor code loading into separate functions beam_load.c: Factor out cleaning up of the loader state into free_state() BEAM loader: Clean up handling of error reasons Remove the useless -l option beam_load.c: Simplify handling of the bs_put_string_II instruction beam_load.c: Remove the unused struct LoadedCode
2011-11-17BEAM loader: Don't stop other schedulers until truly neededBjörn Gustavsson
The erlang:module_load/2 BIF will stop all other schedulers before it starts to process the BEAM file. That is not a problem when starting the Erlang/OTP system, since the start-up is mostly sequential. It is a problem, however, when big BEAM files are loaded in an already running system. After the refactoring in the previous commits, we can now do most of the processing of the BEAM file before we stop the other schedulers, so that we can minimize the time when only one scheduler will be running. Suggested-by: Bob Ippolito
2011-11-16Merge branch 'anders/diameter/release_R15A'Anders Svensson
* anders/diameter/release_R15A: Version -> 0.11, update appup, minor app suite fix
2011-11-16Merge branch 'anders/diameter/app_suite_vs_sasl/OTP-9704'Anders Svensson
* anders/diameter/app_suite_vs_sasl/OTP-9704: Add sasl to app testcases to placate systools
2011-11-16Merge branch 'fm/process_info_doc_fix'Henrik Nord
* fm/process_info_doc_fix: Fix documentation for erlang:process_flag/2 OTP-9714
2011-11-16Merge branch 'rj/fix-net_kernel-doc'Henrik Nord
* rj/fix-net_kernel-doc: Fixes net_kernel:get_net_ticktime() doc OTP-9713
2011-11-16Merge branch 'siri/stdlib/improve-doc-restart-strategy/OTP-9381'Siri Hansen
* siri/stdlib/improve-doc-restart-strategy/OTP-9381: Improve documentation on supervisor restart strategy
2011-11-16Improve documentation on supervisor restart strategySiri Hansen
2011-11-16Merge branch 'maint-r14'Micael Karlberg
2011-11-16Merge commit 'build/maint-r14/2011-11-14_22.10' into maint-r14Micael Karlberg
2011-11-16Merge branch 'ia/ssl/ets-next-problem/OTP-9703'Ingela Anderton Andin
* ia/ssl/ets-next-problem/OTP-9703: Replaced ets:next traversal with ets:foldl and throw
2011-11-16Merge branch 'ia/public_key/prepare-for-release'Ingela Anderton Andin
* ia/public_key/prepare-for-release: Prepare for release
2011-11-16Merge branch 'ia/ssl/badarith/OTP-9696'Ingela Anderton Andin
* ia/ssl/badarith/OTP-9696: Improved session cleanup handling Fix badarith in ssl_session:validate_session/2
2011-11-15Version -> 0.11, update appup, minor app suite fixAnders Svensson
2011-11-15Prepare for releaseIngela Anderton Andin
2011-11-15Merge branch 'hb/stdlib/gen_call_improvement/OTP-9212'Hans Bolinder
* hb/stdlib/gen_call_improvement/OTP-9212: Remove the undocumented function global:safe_whereis_name/1 Remove all use of global:safe_whereis_name/1 Fix a minor race in gen_fsm
2011-11-15Merge branch 'ia/ssl/test-maintenance'Ingela Anderton Andin
* ia/ssl/test-maintenance: Removed compiler warnings Work around bug in openss-1.0.0e Use ERL_FLAGS in plain_verify_options test Adjustment to work with hipe Avoid openssl processes surviving after test case has finished Add better error message Skip ssl_dist_SUITE if cover run, as the test server node can not communicate with the ssl nodes with erlang distribution Fine tuning of test suites
2011-11-15Merge branch 'master' of super:otpMicael Karlberg
2011-11-15Merge branch 'maint-r14'Micael Karlberg
Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/http_lib/http_uri.erl lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk
2011-11-15Removed compiler warningsIngela Anderton Andin
2011-11-15Work around bug in openss-1.0.0eIngela Anderton Andin
2011-11-15Use ERL_FLAGS in plain_verify_options testIngela Anderton Andin
Windows do not handle long commands and would crash if many ssl arguments are passed on the command prompt
2011-11-15Adjustment to work with hipeIngela Anderton Andin
process_info(Pid, current_function) may return {current_function, undefined} in some cases but will not in the importante one!
2011-11-15Avoid openssl processes surviving after test case has finishedIngela Anderton Andin
If the server process is always closed first shutdown of the openssl process will be gracious
2011-11-15Add better error messageIngela Anderton Andin
2011-11-15Skip ssl_dist_SUITE if cover run, as the test server node can not ↵Ingela Anderton Andin
communicate with the ssl nodes with erlang distribution
2011-11-15Fine tuning of test suitesIngela Anderton Andin
2011-11-15Skip inet_res_SUITE tests when external resolver does not startRaimo Niskanen
E.g OpenBSD's (5.0) patched named does not allow itself to be started without privilige separation, which is only allowed for the superuser so test suites can not use that named. Fix the shell script that starts named to detect early exit from named and inform the Erlang code test suite what happened.
2011-11-15Cleanup the use of TARGET in toplevel and common make and build filesRaimo Niskanen
Common file target.mk now passes the TARGET value through config.sub for canonification. Toplevel Makefile now calls target.mk so it handles TARGET like all sub-makefiles. Build script otp_build no longer creates a target specific directory that a long time ago was used for target specific configure cache file.
2011-11-15Merge branch 'bmk/inets/inets58_integration'Micael Karlberg
2011-11-15Replaced ets:next traversal with ets:foldl and throwIngela Anderton Andin
ets:next needs an explicit safe_fixtable call to be safe, we rather use ets:foldl and throw to get out of it when we find the correct entry.
2011-11-15Improved session cleanup handlingIngela Anderton Andin
Added session status "new" to mark sessions that are in the session database to reserve the session id but not resumable yet and that we want to separate from sessions that has been invalidated for further reuse.
2011-11-15Fix badarith in ssl_session:validate_session/2Ingela Anderton Andin
The time_stamp filed is now initated in the connection process init function, so that invalidations of sessions due to handshake failiures, will not cause sessions in the session table to have an uninitiated time_stamp field.
2011-11-15Merge branch 'maint-r13' into maint-r14Micael Karlberg
2011-11-15Merge branch 'ia/ssl/prepare-for-relese'Ingela Anderton Andin
* ia/ssl/prepare-for-relese: Prepare version and appup for release
2011-11-15Merge branch 'ia/public_key/ssl/crypto/PKCS-8/OTP-9312'Ingela Anderton Andin
* ia/public_key/ssl/crypto/PKCS-8/OTP-9312: Add clause for expected input to pubkey:pseudo_random_function/2 when ASN-1 compiler is fixed. Clean up of public_key code adding specs and documentation Added PKCS-8 support in ssl Additions to crypto and public_key needed for full PKCS-8 support Add PKCS-8 support to public_key
2011-11-15Merge branch 'bjorn/erts/erlc-do-not-bind'Björn Gustavsson
* bjorn/erts/erlc-do-not-bind: erlc: Do not bind schedulers when invoking "erl"
2011-11-14Merge branch 'bmk/megaco/r15_integration'Micael Karlberg
2011-11-14Added proper release note entry for OTP-9672.Micael Karlberg
2011-11-14Merge branch 'sa/dialyzer-wunderspecs'Henrik Nord
* sa/dialyzer-wunderspecs: Fix false warning about closure application Change category of 'might also return' warnings OTP-9707
2011-11-14erlc: Do not bind schedulers when invoking "erl"Björn Gustavsson
If parallel make is used, several instance of 'erlc' is likely to be invoked at once. Therefore, the default binding of schedulers to CPU cores will do no good. (With this change, the build of Erlang/OTP with six threads finished in about 7 minutes; without in about 11 minutes.)
2011-11-14BEAM loader: Refactor code loading into separate functionsBjörn Gustavsson
Break apart code loading into the three functions: erts_alloc_loader_state() erts_prepare_loading() erts_finish_loading() The erts_alloc_loader_state() and erts_prepare_loading() can be executed with all schedulers running. Only erts_finish_loading() needs to be run in a single-scheduling system.
2011-11-14beam_load.c: Factor out cleaning up of the loader state into free_state()Björn Gustavsson
2011-11-14BEAM loader: Clean up handling of error reasonsBjörn Gustavsson
There is no reason to have erts_load_module() return integer values, only to have the caller convert the values to atoms. Return the appropriate atom directly from the place where the error is generated instead. Return NIL if the module was successfully loaded.
2011-11-14Merge branch 'bmk/snmp/20111108/bad_gc_timer_deactivation/OTP-9690' into ↵Erlang/OTP
maint-r14 * bmk/snmp/20111108/bad_gc_timer_deactivation/OTP-9690: Bad note store GC timer deactivation. Wrong field in the state record was set (timeout instead active). Stefan Grundmann OTP-9690
2011-11-14Merge branch 'egil/reallocating-catches/OTP-9692'Björn-Egil Dahlberg
* egil/reallocating-catches/OTP-9692: erts: Teach VM to reallocate beam catch table
2011-11-14Remove the undocumented function global:safe_whereis_name/1Hans Bolinder
2011-11-14Remove all use of global:safe_whereis_name/1Hans Bolinder
Calls to global:whereis_name/1 have been substituted for calls to global:safe_whereis_name/1 since the latter is not safe at all. The reason for not doing this earlier is that setting a global lock masked out a bug concerning the restart of supervised children. The bug has now been fixed by a modification of global:whereis_name/1. (Thanks to Ulf Wiger for code contribution.)