Age | Commit message (Collapse) | Author |
|
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.
|
|
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}]}
|
|
* siri/stdlib/log_mf_h-write-index-atomically/OTP-9148:
Update index file atomically
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
* 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.
|
|
dialyzer spec.
|
|
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.
|
|
|
|
* egil/io-badarg/OTP-9045:
Fix exception generation in the io module
|
|
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
|
|
code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
|
|
|
|
* 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
...
|
|
Use a binary instead of a string for the help text.
|
|
Since the error messages in the erl_posix_msg module are
presumably used very seldom, save memory by using binaries
instead of strings.
|
|
|
|
* td/base64-mime-decoding:
Improve pad character handling in base64 MIME decoding functions
OTP-9020
|
|
|
|
|
|
|
|
|
|
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.
|
|
* 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
...
|
|
|
|
|
|
|
|
|
|
|
|
The default maximum number of slots of Dets tables has been changed to
be equal to the maximum number of slots.
|
|
|
|
* egil/superfluous-supervisor-report/OTP-8938:
Remove superfluous supervisor error report
|
|
* sverker/ets_compress/OTP-8922:
ETS 'compressed' option.
|
|
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").
|
|
|
|
* ks/file_open-mode:
Add the {encoding, _} options to file:open/2's modes
|
|
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.)
|
|
* ks/bad-export_type:
Avoid errors for a badly formed export_type declarations
|
|
* 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
|
|
* 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
|
|
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.
|
|
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.
|
|
|
|
Using a float for the number of copies results in an infinite loop.
Check that the argument is an integer.
Reported-By: Eric Pailleau
|
|
* hb/stdlib/dets_chunk_match/OTP-8903:
Fix a bug concerning bchunk(), match() and select()
Conflicts:
lib/stdlib/test/dets_SUITE.erl
|