aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2011-04-04Completed bug fix "temporary child specs should not be kept when childIngela Anderton Andin
terminates" and improved test suite The bug fix supplied by Filipe David Manana <[email protected]> did not cover all possible ways that a process may be terminated as for instance with supervisor:terminate_child. Also there was a bug in the base case of the patch returning a list of a list instead of only the list. Added a timeout for the test cases, eliminated unnecessary sleeps, improved code.
2011-04-04Fix issue with temporary children introduced by OTP-9064Filipe David Manana
The temporary child specs are never removed from the supervisor's state, and have they're MFA component set to {M, F, undefined} instead of the MFA passed in the supervisor:start_child/2 call. Subsequent calls to supervisor:restart_child/2 may crash. Stack trace example: {badarg,[{erlang,apply,[gen_server,start_link,undefined]}, {supervisor,do_start_child,2},{supervisor,handle_call,3}, {gen_server,handle_msg,5}, {proc_lib,init_p_do_apply,3}]}
2011-03-28Merge branch 'siri/stdlib/log_mf_h-write-index-atomically/OTP-9148' into devSiri Hansen
* siri/stdlib/log_mf_h-write-index-atomically/OTP-9148: Update index file atomically
2011-03-23Update index file atomicallySiri Hansen
Since the log_mf_h index file might be read by other processes than the error handler (e.g. by the rb tool), this file should be updated atomically. This will avoid hitting the time gap between opening the file in write mode (and thus emptying the file) and the actual update with the new contents. To do this, a temporary file is written, and the file:rename/1 used to replace the real index file.
2011-03-22Fix a bug concerning record field typesHans Bolinder
The default value 'undefined' was added to records field types in such a way that the result was not always a well-formed type. This bug has been fixed. --- erl_pp has since OTP-8150 formatted types so that 'undefined' was removed from union types assigned to record fields. Since one cannot distinguish between 'undefined' added by the parser or supplied by the user, a side effect was that user supplied 'undefined's were also removed. Now the pretty printer shows 'undefined' even if added by the parser. This is a minor issue.
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-10Fix ~F.Fs bug, add testcase and improve documentationRaimo Niskanen
2011-03-10io_lib_format string precision fixAli Yakout
2011-03-07CleanupKostis Sagonas
2011-03-02Add ISO week number calculation functions to the calendar module in stdlibImre Horvath
This new feature adds the missing week number function to the calendar module of the stdlib application. The implementation conforms to the ISO 8601 standard. The new feature has been implemented tested and documented.
2011-02-28Merge branch 'lukas/stdlib/native_escript/OTP-9076' into devLukas Larsson
* lukas/stdlib/native_escript/OTP-9076: Update escrips to allow the -n or -compile(native) flag, which compiles the code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
2011-02-22Added test case do_not_save_start_parameters_for_temporary_children and fixedIngela Anderton Andin
dialyzer spec.
2011-02-22Do not save parameter list for any temporary processesIngela Anderton Andin
Previous commit changed the supervisor to not save parameter lists for temporary processes supervised by simple-one-for-one supervisors. But it is unnecessary to save them for any temporary processes as they should not be restarted. Proably the biggest gain is in the simple-one-for-one case. Also changed the test case count_children_memory so it does not test that which_children will produce garbage that must be reclaimed later. This is a strange thing to test and it is no longer true for all invocations of which_children.
2011-02-22Do not save initial arguments for dynamic temporary processesIngela Anderton Andin
2011-02-15Merge branch 'egil/io-badarg/OTP-9045' into devBjörn-Egil Dahlberg
* egil/io-badarg/OTP-9045: Fix exception generation in the io module
2011-02-10Fix exception generation in the io moduleBjörn-Egil Dahlberg
Some functions did not generate correct badarg exception on a badarg exception. Affected functions: - io:put_chars/1,2 - io:nl/1 - io:write/1,2 - io:format/1,2,3 - io:fwrite/1,2,3
2011-01-25Update escrips to allow the -n or -compile(native) flag, which compiles the ↵Lukas Larsson
code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
2011-01-18Refuse to compile functions with too many argumentsBjörn Gustavsson
2011-01-17Merge branch 'bjorn/beam-loader/OTP-9030' into devBjörn Gustavsson
* bjorn/beam-loader/OTP-9030: (43 commits) c: Reduce memory footprint erl_posix_msg: Reduce memory footprint Introduce a few more variations of the move instructions Combine a move + jump sequence into the move_jump instruction Optimize and clean-up the exact equality/non-equality instructions Optimize addition of a small integer to a variable Introduce a special instruction for select_val with two values Introduce a few more specialized put_list instructions Eliminate the "put_list c n Dst" instructions Eliminate the specific move_sd instruction Eliminate use of GetArg1() in the badmatch and case_end instructions Eliminate use of GetArg2() in the i_element instruction Eliminate use of GetArg1() in the fast_element instruction Eliminate use of GetArg1() in the jump_on_val* instructions Eliminate use of GetArg1() in the select_val instruction beam_emu: Eliminate sloppy use of tmp_arg1 and tmp_arg2 beam_emu: Don't inline helper functions into process_main() beam_emu: Clean up calling of the error_handler module Simplify a select_val instruction that selects only one value Optimize creation of tuples ...
2011-01-17c: Reduce memory footprintBjörn Gustavsson
Use a binary instead of a string for the help text.
2011-01-17erl_posix_msg: Reduce memory footprintBjörn Gustavsson
Since the error messages in the erl_posix_msg module are presumably used very seldom, save memory by using binaries instead of strings.
2011-01-17Removed use of deprecated function sizeIngela Anderton Andin
2011-01-11Merge branch 'td/base64-mime-decoding' into devIngela Anderton Andin
* td/base64-mime-decoding: Improve pad character handling in base64 MIME decoding functions OTP-9020
2010-12-21Correct type specs in ioPatrik Nyblom
2010-12-21Remove faulty change left by mistake in eppPatrik Nyblom
2010-12-20Removed dead codePatrik Nyblom
2010-12-17Remove dead code (and dialyzer errors) from filename and rePatrik Nyblom
2010-12-07Improve pad character handling in base64 MIME decoding functionsThomas O'Dowd
Implement the 'MAY' clauses from RFC4648 regarding the pad character to make mime_decode() and mime_decode_to_string() functions more tolerant of badly padded base64. The RFC is quoted below for easy reference. RFC4648 Section 3.3 with reference to MIME decoding: Furthermore, such specifications MAY ignore the pad character, "=", treating it as non-alphabet data, if it is present before the end of the encoded data. If more than the allowed number of pad characters is found at the end of the string (e.g., a base 64 string terminated with "==="), the excess pad characters MAY also be ignored.
2010-12-03Merge branch 'pan/unicode-filenames/OTP-8887' into devPatrik Nyblom
* pan/unicode-filenames/OTP-8887: (27 commits) Test and correct filelib and filename Add documentation to erlang.xml and slight correction to unicode_usage.xml Add section about Unicode file names to stdlib users guide Correct bug in file_name_SUITE making it fail on Unix instead of Windows7 Add documentation about raw filenames and Unicode file name translation mode Make filelib not crash on re codepoints beyond 255 in re when filename is raw Mend on_load_embedded testcase which did not handle windows links Correct testcase regarding windows versions supporting soft links. Teach filelib to use re in unicode mode when filenames are not raw Treat soft links on Windows correctly in file_name_SUITE Adapt new soft and hard link routines on Windos to Unicode Corrected testcases broken by unicode filenames Update preloaded prim_file Teach prim_file not to accept atoms and not to throw exceptions Adapt inet_drv to Visual Studio 2008 Teach spawn_executable about Unicode Convert filenames read on MacOSX to canonical form Teach file to accept codepoints beyond 255. Add testcases Correct shell utilities to handle unicode and possibly binaries ...
2010-12-03Test and correct filelib and filenamePatrik Nyblom
2010-12-01Make filelib not crash on re codepoints beyond 255 in re when filename is rawPatrik Nyblom
2010-11-30Teach filelib to use re in unicode mode when filenames are not rawPatrik Nyblom
2010-11-30Correct shell utilities to handle unicode and possibly binariesPatrik Nyblom
2010-11-30Handle binary file names and conversion of unicode stringsPatrik Nyblom
2010-11-29Increase default maximum number of slots of Dets tablesHans Bolinder
The default maximum number of slots of Dets tables has been changed to be equal to the maximum number of slots.
2010-11-29Teach filename to accept raw data and add filename enc option to emuPatrik Nyblom
2010-11-26Merge branch 'egil/superfluous-supervisor-report/OTP-8938' into devBjörn-Egil Dahlberg
* egil/superfluous-supervisor-report/OTP-8938: Remove superfluous supervisor error report
2010-11-24Merge branch 'sverker/ets_compress/OTP-8922' into devSverker Eriksson
* sverker/ets_compress/OTP-8922: ETS 'compressed' option.
2010-11-22ETS 'compressed' option.Sverker Eriksson
The compressed format is using a slighty modified variant of the extern format (term_to_binary). To not worsen key lookup's too much, the top tuple itself and the key element are not compressed. Table objects with only immediate non-key elements will therefor not gain anything (but actually consume one extra word for "alloc_size").
2010-11-22Remove superfluous supervisor error reportBjörn-Egil Dahlberg
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-04Fix badly formed Dets file after initializationHans Bolinder
If a Dets table with fewer slots than keys was opened and then closed after just a lookup, the contents were no longer well-formed. This bug has been fixed. (Thanks to Matthew Evans.)
2010-10-29Merge branch 'ks/bad-export_type' into devBjörn Gustavsson
* ks/bad-export_type: Avoid errors for a badly formed export_type declarations
2010-10-29Merge branch 'ms/fix-string-copies' into devBjörn Gustavsson
* ms/fix-string-copies: string_SUITE: Add test for string:copies(Str, Float) string_SUITE: Fix copy and paste error in test of string:copies/2 Fix crash in string:copies/2 OTP-8915
2010-10-29Merge branch 'ks/strengthen-specs' into devBjörn Gustavsson
* ks/strengthen-specs: lists: Strengthen and modernize specs syntax_tools: Fix an erroneous type and strengthen some specs ordsets: Export ordset/1 type and strengthen specs compiler: Strengthen some specs to shut off dialyzer warnings
2010-10-28Fix epp bug concerning the file attribute and file inclusionHans Bolinder
Cover did not collect coverage data for files such as Yecc parses containing include directives. The bug has been fixed by modifying epp, the Erlang Code Preprocessor.
2010-10-26lists: Strengthen and modernize specsKostis Sagonas
Strengthen some specs that were a bit more liberal than they should. While at it, change uses of the is_subtype guard to :: which is more modern and compact.
2010-10-26ordsets: Export ordset/1 type and strengthen specsKostis Sagonas
2010-10-26Fix crash in string:copies/2Michael Santos
Using a float for the number of copies results in an infinite loop. Check that the argument is an integer. Reported-By: Eric Pailleau
2010-10-21Merge branch 'hb/stdlib/dets_chunk_match/OTP-8903' into devHans Bolinder
* hb/stdlib/dets_chunk_match/OTP-8903: Fix a bug concerning bchunk(), match() and select() Conflicts: lib/stdlib/test/dets_SUITE.erl