aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2013-04-12Optimize index creation for Mnesia set tablesNick Marino
ETS bag tables have very poor performance on insertion if you have lots of rows with duplicate keys, since it has to check each existing record and make sure it's not inserting any duplicates. This can lead to some pretty drastic slowdowns when inserting lots of rows into an Mnesia table, IF you're introducing lots of duplicate values into an indexed column. As it turns out, we can fix this by switching to duplicate_bag tables for storing Mnesia indexes on tables of type 'set', and it ultimately makes no functional difference since we will never actually attempt to insert any duplicate records anyway. (We would have to make some bigger changes to make this work for Mnesia bag tables though, so that is left as a possible enhancement for the future.)
2013-04-11Merge branch 'lh/otp-optims/OTP-11035' into maintFredrik Gustafsson
* lh/otp-optims/OTP-11035: Use erlang:demonitor's flush option on timeout Don't lookup the node unless required in gen:call/{3,4}
2013-04-11Merge branch 'fredrik/ct/telnet_wo_line_breaks/OTP-10085' into maintFredrik Gustafsson
2013-04-11Merge branch 'sverk/dets_remove_test_otp_9607' into maintSverker Eriksson
* sverk/dets_remove_test_otp_9607: stdlib: Fix unstable testcase ets_SUITE:delete_large_named_table stdlib: Remove obsolete testcase dets_SUITE:otp_9607
2013-04-11Merge branch 'ks/hipe-cleanup-escaping/OTP-11031' into maintFredrik Gustafsson
* ks/hipe-cleanup-escaping/OTP-11031: Loosen the assumptions of code that handles escaping functions
2013-04-10Merge branch 'mar/cover-fix/OTP-11028' into maintFredrik Gustafsson
* mar/cover-fix/OTP-11028: Delete ets tables when stopped fix a race condition when there're several applications in apps directory
2013-04-10Merge branch 'sa/dialyzer-bitstring-fixes/OTP-11027' into maintFredrik Gustafsson
* sa/dialyzer-bitstring-fixes/OTP-11027: Minor refactorings Fix minor error in natively compiled module list Fix notification for duplicate modules Fix an error in the type inference of bitstring data
2013-04-10Merge branch 'siri/common_test/unexpected_io/OTP-10494' into maintSiri Hansen
* siri/common_test/unexpected_io/OTP-10494: [common_test] Add test for unexpected I/O [common_test] Send unexpected logging to test_server's unexpected_io.log [test_server] Add test_server_io:print_unexpected/1
2013-04-09Delete ets tables when stoppedFredrik Gustafsson
2013-04-09Merge branch 'fredrik/stdlib/fix_broken_link' into maintFredrik Gustafsson
* fredrik/stdlib/fix_broken_link: Fixed broken links in sys.html
2013-04-08Merge branch 'anders/diameter/service_config/OTP-11017' into maintAnders Svensson
* anders/diameter/service_config/OTP-11017: Fix handling of unknown options to diameter:start_service/2
2013-04-08Merge branch 'anders/diameter/release_notes/OTP-11014' into maintAnders Svensson
* anders/diameter/release_notes/OTP-11014: Fix faulty capitalization in generated release notes
2013-04-08Merge branch 'fredrik/ssh/ssh_daemon_pass_arg/OTP-10975' into maintFredrik Gustafsson
* fredrik/ssh/ssh_daemon_pass_arg/OTP-10975: ssh: If not valid expression, rather than generate a error, try to use the cmd.
2013-04-08Merge branch 'siri/cuddle-with-tests' into maintSiri Hansen
* siri/cuddle-with-tests: [reltool] Clean up work dir after test [observer] Add debug printouts in ttb_SUITE
2013-04-08[common_test] Add test for unexpected I/OSiri Hansen
2013-04-08[common_test] Send unexpected logging to test_server's unexpected_io.logSiri Hansen
If it could not be decided which test case a certain log printout belonged to, the common test framework log was earlier used. Such printouts are now instead sent to unexpected_io.log in test_server so that there is only one place to look for "missing" printouts.
2013-04-08[test_server] Add test_server_io:print_unexpected/1Siri Hansen
To use from any process to print a string in the unexpected_io.log.
2013-04-08Minor refactoringsStavros Aronis
2013-04-08Fix minor error in natively compiled module listStavros Aronis
Even though dialyzer_typesig is the module doing most of the work, compiling it to native code twice will not make it faster than the rest. :-)
2013-04-08Fix notification for duplicate modulesStavros Aronis
Dialyzer fails when asked to analyze multiple modules with the same name, but the error message was erroneous. With this patch Dialyzer generates a correct error message. Bug reported and patch submitted by Maxim Treskin.
2013-04-08Fix an error in the type inference of bitstring dataStavros Aronis
Dialyzer was constraining bitstring data used in the construction of other bitstring values too much. These constraints have now been relaxed.
2013-04-08Remove unused Postscript filesHans Bolinder
2013-04-08Merge branch 'ia/ssl/crypto/PSK-SRP/doc' into maintIngela Anderton Andin
* ia/ssl/crypto/PSK-SRP/doc: ssl & crypto: Documentation enhancements
2013-04-06Fix faulty capitalization in generated release notesAnders Svensson
Diameter = the protocol diameter = the Erlang application
2013-04-06Fix handling of unknown options to diameter:start_service/2Anders Svensson
{error, Reason} is now returned, instead of the options being ignored. Note that diameter:add_transport/2 purposely ignores unknown options and that the behaviour is documented. This is historic: some users depend on it in order to store their own options for identifying transport config, instead of using the reference returned by add_transport.
2013-04-05ssh: If not valid expression, rather than generate a error, try to use the cmd.Fredrik Gustafsson
2013-04-05ssl & crypto: Documentation enhancementsIngela Anderton Andin
OTP-10450
2013-04-05Fixed broken links in sys.htmlFredrik Gustafsson
2013-04-04Merge branch 'siri/test_server/hanging-io-request/OTP-10991' into maintSiri Hansen
* siri/test_server/hanging-io-request/OTP-10991: [test_server] Don't hang due to invalid io request
2013-04-04Merge branch 'siri/common_test/force_stop-skip_rest/OTP-10856' into maintSiri Hansen
* siri/common_test/force_stop-skip_rest/OTP-10856: [common_test] Document '-force_stop skip_rest' option to ct_run [common_test] Add tests for repeated testruns [common_test] Add support for testing repeated testruns [common_test] Add -force_stop skip_rest option when repeating tests
2013-04-04Merge branch 'sv/stdlib/sys-get-state/OTP-11013' into maintFredrik Gustafsson
* sv/stdlib/sys-get-state/OTP-11013: Removed ?line macro add sys:get_state/1,2 and sys:replace_state/2,3 update sys:get_status/2,3 documentation for gen_event
2013-04-04fix a race condition when there're several applications in apps directoryManuel Rubio
2013-04-04Changed handshake from to_erl to run_erl, on behalf of shell searchFredrik Gustafsson
2013-04-04Merge branch 'ia/ssl/PSK-SRP' into maintIngela Anderton Andin
* ia/ssl/PSK-SRP: ssl: Use new SRP crypto API crypto: New SRP API CRYPTO: add algorithms/0 function that returns a list off compiled in crypto algorithms ssl: Add option to list all available ciper suites and enhanced documentation SSL: add documentation for PSK and SRP ciphers options SSL: enable hash_size values for sha224, sha384 and sha512 SSL: add tests for PSK and SRP ciphers SSL: add TLS-SRP (RFC 5054) cipher suites CRYPTO: add support for RFC-2945 SRP-3 and RFC-5054 SRP-6a authentication crypto: Refactor mod_exp_nif SSL: add TLS PSK (RFC 4279 and RFC 5487) cipher suites
2013-04-03ssl: Use new SRP crypto APIIngela Anderton Andin
2013-04-03crypto: New SRP APIIngela Anderton Andin
Adjust API to better fit in with similar funtions in crypto
2013-04-03CRYPTO: add algorithms/0 function that returns a list off compiled in crypto ↵Andreas Schultz
algorithms add algorithms/0 function that returns a list off compiled in crypto algorithms and make tests suites with SHA226, SHA256, SHA384 and SHA512 conditional based on that
2013-04-03ssl: Add option to list all available ciper suites and enhanced documentationIngela Anderton Andin
2013-04-03Merge branch 'nox/fix-bc-optim/OTP-11005' into maintFredrik Gustafsson
* nox/fix-bc-optim/OTP-11005: Add a new option +clint0 to the compiler Fix optimization of some binary comprehensions
2013-04-03Merge branch 'nox/fix-snmp-gitignore/OTP-11004' into maintFredrik Gustafsson
* nox/fix-snmp-gitignore/OTP-11004: Fix SNMP gitignore files
2013-04-03Removed ?line macroFredrik Gustafsson
2013-04-02add sys:get_state/1,2 and sys:replace_state/2,3Steve Vinoski
At Erlang Factory 2013 there was discussion during one of the talks about the sys:get_status functions and how useful they were for debugging. Geoff Cant mentioned it would be very useful if the sys module also provided functions to use while debugging to get just the state of a process and also to be able to replace the state of a process, and many others in the audience appeared to agree. The sys:get_state/1,2 functions return the state of a gen_server, gen_fsm, or gen_event process. The return value varies depending on the process type: process state for a gen_server, state name and state data for a gen_fsm, and handler module, handler id, and handler state for each handler registered in a gen_event process. The sys:replace_state/2,3 functions allow the state of a gen_server, gen_fsm, or gen_event process to be replaced with a new state. These functions take a function argument that updates or replaces the process state; using a function to change the state eliminates the race condition of first reading the state via sys:get_state/1 or sys:get_state/2, using its return value to create a new state, and then replacing the old state with the new state, since during that time the process might have received other calls or messages that could have changed its state. * For a gen_server process, the state replacement function takes the process state as an argument and returns a new state. * For a gen_fsm process, the state replacement function gets a tuple of {StateName, StateData} and returns a similar tuple that specifies a new state name, new state data, or both. * For a gen_event process, the state replacement function is called for each registered event handler. It gets a tuple {Module, Id, HandlerState} and returns a similar tuple that specifies the same Module and Id values but may specify a different value for HandlerState. If the state replacement function crashes or results in an error, the original state of a gen_server or gen_fsm process is maintained; if such a crash occurs for a gen_event process, the original state of the event handler for which the state replacement function was called is maintained, but the states of other event handlers of the same gen_event process may still be updated if no errors or crashes occur while replacing their states. Add documentation for sys:get_state/1,2 and sys:replace_state/2,3. The documentation explicitly notes that the functions are intended for use during debugging. Add new tests for these functions to gen_server_SUITE, gen_fsm_SUITE, and gen_event_SUITE.
2013-04-02Merge branch 'mh/emacs-package/OTP-10999' into maintFredrik Gustafsson
* mh/emacs-package/OTP-10999: erlang-mode: Add autoload cookies for file extension associations
2013-04-02Merge branch 'mh/dialyzer-scan-error/OTP-10996' into maintFredrik Gustafsson
* mh/dialyzer-scan-error/OTP-10996: Improve Dialyzer output for scan errors
2013-04-01Use erlang:demonitor's flush option on timeoutLoïc Hoguin
It is equivalent to the few lines removed, except more efficient.
2013-04-01Don't lookup the node unless required in gen:call/{3,4}Loïc Hoguin
Move some operations that aren't required for the happy path. The operations were small, so they shouldn't show a big difference in benchmarks except for systems with many active gen processes.
2013-03-31Fix SNMP gitignore filesAnthony Ramine
2013-03-29update sys:get_status/2,3 documentation for gen_eventSteve Vinoski
Modify the documentation for the sys:get_status/2,3 functions to reflect that they also work on gen_event processes, and add a cross reference for gen_event:format_status/2 to go along with the existing cross references for gen_server and gen_fsm.
2013-03-29Document erl_parse:abstract/2Hans Bolinder
A bug has been fixed: when given the option {encoding,utf8} a list of floating point numbers (in the correct interval) was mistakenly returned as a string.
2013-03-29Merge branch 'hb/stdlib/unicode_bugfix/OTP-10990' into maintHans Bolinder
* hb/stdlib/unicode_bugfix/OTP-10990: Fix a bug in the Erlang scanner