Age | Commit message (Collapse) | Author |
|
* kr/odbc-netinet:
Fix ODBC compilation error on FreeBSD by adding netinet/in.h to #include macros
OTP-8444 The odbc application can now be compiled on FreeBSD. (Thanks to
Kenji Rikitake.)
|
|
* bg/erl_bif_types:
Add types for erts_debug:lock_counters/1
Add types for os:timestamp/0
Add types for erts_debug:dist_ext_to_term/2
erl_bif_types: add 'http_bin' as a valid packet option
OTP-8437: bg/erl_bif_types
|
|
* jn/sasl-format_report:
Added sasl_report:format_report/3 to return a string rather than send an io
OTP-8445 There is new function sasl_report:format_report/3 that works like
the existing sasl_report:write_report/3 function except that it
returns a formatted string. Note that there is currently no
documentation for the sasl_report module. (Thanks to Jay Nelson.)
|
|
* va/rb-improvements:
New rb:filter/2 to filter reports by date
New rb:filter/1 function to ease report filtering
Modify rb:grep/1 to grep reports using the re module
Fix minor typo in read_report/1
OTP-8443 The re:grep/1 function now uses the 're' module instead of the
deprecated 'regexp' module. There are new functions rb:filter/1
and rb:filter/2 for easier filtering of reports. (Thanks to
Alvaro Videla.)
|
|
iiop_out_ports_random.
|
|
|
|
|
|
* dgud/emacs-mode:
Added the old style skeletons, and a variable to change.
Move code skeletons to a separate file.
OTP-8446 dgud/emacs-mode
|
|
erts_debug:lock_counters/1 is an undocumented BIF used by
the 'lcnt' module in the 'tools' application.
|
|
|
|
|
|
{packet,http_bin} is now a valid packet option for the
gen_tcp and inet modules.
|
|
sasl_report:write_report/3 calls io:format to output the report
message, but does not provide an option to generate a formatted string
rather than sending the message. sasl_report:format_report/3 is added
to allow the replacement of sasl_report with a different handler but
still generate reports in the same format. It returns the string
generated by io_lib:format. sasl_report:write_report/3 retains its
original behavior.
This patch was submitted in 2008 (see
http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35061) but was never
incorporated into the source.
|
|
The function filter/2 expects a second parameter
Dates that can be used to return reports that
occurred between the provided dates.
Usage:
Dec22 = {{2009,12,22},{0,0,0}}.
Dec24 = {{2009,12,24},{0,0,0}}.
rb:filter(Filters, {Dec22, from}).
%will return reports that occurred from Dec22.
rb:filter(Filters, {Dec22, to}).
%will return reports that occurred before Dec22.
rb:filter(Filters, {Dec22, Dec24}).
%will return reports that occurred between Dec22
% and Dec24
|
|
Currently in the rb module the only way to filter
reports is by using the grep/1 or re/1 functions
that use Regular Expressions.
This new function allow us to specify detailed
filters that will match against our reports.
Since the reports are proplists the filters are
tuples of the form {Key, Value}. If the report
contains that tuple, it will be displayed.
Usage:
1> rb:filter([{"foo", "bar"}, {"abc", "value"}]).
2> rb:filter([{"foo", "bar", no}]).
% excludes reports containing {"foo", "bar"}
3> rb:filter([{"foo", RegExp, re}]).
% the report must contain an element with Key = "foo"
% and Value must match RegExp
|
|
|
|
|
|
|
|
|
|
OTP-8349, OTP-8351, OTP-8352, OTP-8359 & OTP-8371.
|
|
|
|
OTO-8442: Per Hedeland
|
|
OTP-8431: [email protected]
|
|
* kr/crypto_makefile:
Fix Makefile permission problem of crypto library on FreeBSD Erlang/OTP building
|
|
* bd/doc-fixes:
Fix minor documentation errors
|
|
* yh/packet_option_for_new_ssl_send:
Fixed ssl:setopts(Socket, binary) which was didn't work for 'new' ssl.
Fixed bug file cache bug and improved the error messages.
Allow <c>ssl:listen/2</c> to be called with option {ssl_imp, old}.
prepend packet size bytes in ssl:send() in new_ssl implementation
OTP-8441 ssl:send/2 ignored packet option, fix provided by YAMASHINA Hio.
Fixed a file cache bug which caused problems when the same file
was used for both cert and cacert.
Allow ssl:listen/2 to be called with option {ssl_imp, old}.
Fixed ssl:setopts(Socket, binary) which didn't work for 'new'
ssl..
|
|
* mp/et-app-file:
unbreak event tracer's app.src
|
|
* ms/pcre-security:
Fix CVE-2008-2371 (outer level option with alternatives caused crash).
OTP-8438 The re module: A regular expression with an option change at the
start of a pattern that had top-level alternatives could cause
overwriting and/or a crash. (Thanks to Michael Santos.)
|
|
* jn/supervisor_child_count_only:
Add count_children/1 to supervisor.erl to determine the number of
OTP-8436 Added supervisor:count_children/1 to count the number of children
being managed without the memory impact of which_children/1.
(Thanks to Jay Nelson.)
|
|
* ks/stdlib-cleanups:
stdlib: clean up as suggested by tidier
OTP-8435: ks/stdlib-cleanups
|
|
|
|
|
|
|
|
With the {ssl_imp,new} option enabled, {packet,PacketType} only
works when receiving. When sending, {packet,0} is always used.
|
|
lib/et/src/et.app.src lists a module (et_contents_viewer) for which
there is no source module, so it doesn't get built or installed.
This breaks tools like HiPE's big test suite that parse installed .app
files and expect to find a .beam file for every listed module.
Fixed by deleting the offending line. I also noticed a duplicated
line for the et_viewer module, and deleted that too.
|
|
|
|
|
|
environment after a number of bugs are fixed and some features
are added in the documentation build process.
- The arity calculation is updated.
- The module prefix used in the function names for bif's are
removed in the generated links so the links will look like
"http://www.erlang.org/doc/man/erlang.html#append_element-2"
instead of
"http://www.erlang.org/doc/man/erlang.html#erlang:append_element-
2".
- Enhanced the menu positioning in the html documentation when a
new page is loaded.
- A number of corrections in the generation of man pages (thanks
to Sergei Golovan)
- The legal notice is taken from the xml book file so OTP's build
process can be used for non OTP applications.
|
|
The patch is from:
http://vcs.pcre.org/viewvc?revision=360&view=revision
Test case:
re:compile(<<"(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]">>, [unicode]).
An option change at the start of a pattern that had top-level
alternatives could cause overwriting and/or a crash.
This potential security problem was recorded as CVE-2008-2371.
|
|
OTP-8433: Kenji Rikitake
|
|
|
|
children being managed without the memory impact of which_children/1
The function which_children/1 returns a list of the child processes
currently being supervised, but it has the penalty of creating a new
list thereby consuming more memory. In low memory situations it is
often desirable to know which supervisor may have generated many
processes, but the act of discovering the culprit should not cause the
node to crash (or worse a different node if the kernel kills one
randomly). The new function count_children/1 can give an indication
of which supervisor is taxing resources the most without adding to the
burden. Rather than creating a new list, it walks the supervisor's
internal children structure using an accumulator function so that any
used memory can be incrementally collected yet the resulting count can
still be obtained.
The return result of count_children/1 is a property list of counts
containing:
- {specs, Total_Num_Child_Specs}
- {active, Num_Active_Child_Processes_Of_Supervisor_Or_Worker_Type}
- {supervisors, Num_Supervisor_Type_Children_Including_Dead_Processes}
- {workers, Num_Worker_Type_Children_Including_Dead_Processes}
This patch was made in response to mailing list discussions of the
problem diagnosing heavily taxed production systems. I cannot find
the original request, but http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35060
is my original post of the patch.
|
|
prompt strings (io:get_line/{1,2}). io_lib is also updated to
format prompts with the 't' modifier (i.e. ~ts instead of ~s).
|
|
|
|
* egil/lcnt:
Add test suite for lcnt in tools
Add lcnt:rt_opt/1 bindings to erts_debug
Add runtime option to enable/disable lcnt stats
Add auto width on string output
Add lcnt documentation
Add lock profiling tool
OTP-8424 Add lock profiling tool.
The Lock profiling tool, lcnt, can make use of the internal lock
statistics when the runtime system is built with this feature
enabled.
This provides a mechanism to examine potential lock bottlenecks
within the runtime itself.
- Add erts_debug:lock_counters({copy_save, bool()}). This option
enables or disables statistics saving for destroyed processes and
ets-tables. Enabling this might consume a lot of memory.
- Add id-numbering for lock classes which is otherwise undefined.
|
|
|
|
|
|
* ks/erl_lint:
erl_lint_SUITE: adjust failing test case
Allow recursive types and check for undefined types
OTP-8421: ks/erl_lint
|
|
* ks/compiler:
compiler: keep line numbers for attributes
compiler Makefile: alphabetize module names
compile.erl: eliminate compiler warning
|
|
|