Age | Commit message (Collapse) | Author |
|
* sc/sctp-connect-nowait:
Implement a non-blocking SCTP connect
OTP-8414 There are new gen_sctp:connect_init/* functions that initiate an
SCTP connection without blocking for the result. The result is
delivered asynchronously as an sctp_assoc_change event. (Thanks
to Simon Cornish.)
|
|
* po/odbc-update-delete-no-rows:
SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows
|
|
* ta/code_clash_ez:
code_SUITE: add missing is_list(Config) guard
Add tests for code:clash/0
Fix handling of archive (.ez) files in code:clash/0
OTP-8413 code:clash/0 now looks inside archives (.ez files). (Thanks to
Tuncer Ayaz.)
|
|
This patch adds a new set of functions - gen_sctp:connect_init/* that initiate
an SCTP connection without blocking for the result. The result is delivered
asynchronously as an sctp_assoc_change event.
The new functions have the same API as documented for gen_sctp:connect/* with
the following exceptions:
* Timeout is only used to supervise resolving Addr (the peer address)
* The possible return values are ok | {error, posix()}
The caller application is responsible for receiving the #sctp_assoc_change{}
event and correctly determining the connect it originated from (for example,
by examining the remote host and/or port). The application should have at
least {active, once} or use gen_sctp:recv to retrieve the connect result.
The implementation of gen_sctp:connect suffers from a number of
shortcomings which the user may avoid by using gen_sctp:connect_init and
adding code to receive the connect result.
First, irrespective of the Timeout value given to gen_sctp:connect, the OS
attempts and retries the SCTP INIT according to various kernel parameters. If
the Timeout value is shorter than the entire attempt then the application will
still receive an sctp_assoc_change event after the {error, timeout} is
returned from the initial call. This could be somewhat confusing (either to
the application or the designer!) especially if the status is
comm_up. Subsequent calls to connect before the OS has finished this process
return {error, ealready} which may also be counter-intuitive.
Second, there is a race-condition (documented in comments in inet_sctp.erl)
that can cause the wrong sctp_assoc_change record to be returned to an
application calling gen_sctp:connect. The race seriously affects connection
attempts when using one-to-many sockets.
|
|
|
|
Add first batch of tests for code:clash/0.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
* dgud/wx_list_ctrl:
Generate without trailing spaces
Fix correct starting copyright year
Do not emit trailing whitespace
Added tests for wxListCtrl:getItem/2.
Added wxListCtrl:getEditCtrl (not available on Mac)
OTP-8408 Added wxListCtrl:getEditCtrl/1 (not available on Mac).
|
|
* egil/gitignore:
Ignore files generated when running/building tests
Update .gitignore files
OTP-8411: egil/gitignore
|
|
code:clash/0 did not take into account .ez files
when listing contents of code path entries.
Using erl_prim_loader:list_dir/1 instead of
file:list_dir/1 fixes the problem.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
configuration parameter shell_prompt_func can be used for
customizing the Erlang shell prompt.
|
|
|
|
There was a small typo in the doc function clause of ext_mod_dep.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
|
|
invoking mnesia:sync_transaction/[1,2]. Thanks Igor Ribeiro
Sucupira.
|
|
|
|
|
|
|
|
improvements.
Most notable:
Lots of cross compilation improvements. The old cross compilation
support was more or less non-existing as well as broken. Please,
note that the cross compilation support should still be
considered as experimental. Also note that old cross compilation
configurations cannot be used without modifications. For more
information on cross compiling Erlang/OTP see the
$ERL_TOP/xcomp/README file.
Support for staged install using <url
href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
For more information see the $ERL_TOP/README file.
Documentation of the release target of the top Makefile. For more
information see the $ERL_TOP/README file.
make install now by default creates relative symbolic links
instead of absolute ones. For more information see the
$ERL_TOP/README file.
$ERL_TOP/configure --help=recursive now works and prints help for
all applications with configure scripts.
Doing make install, or make release directly after make all no
longer triggers miscellaneous rebuilds.
Existing bootstrap system is now used when doing make install, or
make release without a preceding make all.
The crypto and ssl applications use the same runtime library path
when dynamically linking against libssl.so and libcrypto.so. The
runtime library search path has also been extended.
The configure scripts of erl_interface and odbc now search for
thread libraries and thread library quirks the same way as erts
do.
The configure script of the odbc application now also looks for
odbc libraries in lib64 and lib/64 directories when building on a
64-bit system.
The config.h.in file in the erl_interface application is now
automatically generated in instead of statically updated which
reduces the risk of configure tests without any effect.
|
|
Mattsson!
For the time being it is still possible to use the old GS based
version of the tool, but it is deprecated. The wxWidgets based
version is started by default.
A new tutorial has been added to the documentation. It is based
on Jayson Vantuyl's article
http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.htm
l.
The functions et:trace_me/4 and et:trace_me/5 has been introduced
in order to replace the deprecated functions et:report_event/4
and et:report_event/5. Hopefully the new names makes it a little
more obvious what the intended usage of the functions are.
A print function has been added to the GUI, in order to enable
printing of sequence charts.
More functionality for hiding unwanted events has been added to
the GUI.
The max_events, hide_unknown and display_mode configuration
parameters to et_viewer is not used any more. Now the event cache
in the Viewer only contains those events that actually are
displayed in the GUI.
Some minor bugs has been fixed. Such as a cleaning up trace
patterns at termination and displaying events with detail level
100.
|
|
* is/mnesia-send-compressed:
Add option to compress data when copying tables between Mnesia nodes
OTP-8406 Igor Ribeiro Sucupira added the option to compress data when
copying tables between Mnesia nodes.
|
|
|
|
Mattsson!
For the time being it is still possible to use the old GS based
version of the tool, but it is deprecated. The wxWidgets based
version is started by default.
A new tutorial has been added to the documentation. It is based
on Jayson Vantuyl's article
http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.htm
l.
The functions et:trace_me/4 and et:trace_me/5 has been introduced
in order to replace the deprecated functions et:report_event/4
and et:report_event/5. Hopefully the new names makes it a little
more obvious what the intended usage of the functions are.
A print function has been added to the GUI, in order to enable
printing of sequence charts.
More functionality for hiding unwanted events has been added to
the GUI.
The max_events, hide_unknown and display_mode configuration
parameters to et_viewer is not used any more. Now the event cache
in the Viewer only contains those events that actually are
displayed in the GUI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* cf/epp-macro-overloading:
yecc_SUITE: Adjustment for modified error tuple
epp_SUITE: Increase code coverage
Minor corrections and clean-ups
documentation: Macros overloading partly rewritten
update the documentation on preprocessor in the reference manual
epp: change rules to choose the right version of a macro
epp: Add support of macros overloading
epp: fix bug in the function scan_undef
OTP-8388 Macros overloading has been implemented. (Thanks to Christopher
Faulet.)
|
|
|
|
* sf/erl_match-longlong:
erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms
OTP-8400 Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms
(Thanks to Scott Lystig Fritchie).
|
|
Optionally using data compression for copying Mnesia tables allows
the system to be tuned to eliminate network bottlenecks from
deployments where enough CPU is available to use zlib.
With this patch, running erl -mnesia send_compressed <level>
will enable compression for sending tables between nodes. The
compression level can be any integer in [0, 9], with 0 (the
default) meaning no compression (exactly the previous behaviour)
and 9 being the highest compression level.
To set any non-zero compression level at the sender, both nodes
must have the updated Mnesia modules (the receiver will work
according to the sender's configuration).
|
|
|
|
|
|
|
|
Now, when we have only the constant definition of a macro (without
arguments), we always use it. In all other cases, we try to find the
exact matching definition. We throw an error if we don't find it.
|
|
This feature simplifies the definition of macros by avoiding to have a
different name for each version (with different arities) of the same
macros. New rules:
- can have multiple definitions of the same macro with different arities
- cannot overload macro with the same arity
- the overloading of predefined macros (?MODULE, ?LINE, ...) is forbidden
- the directive '-undef' removes all definitions of a macro
|
|
The dict St#epp.uses that helps to find circular macros was not correctly
updated.
|
|
|
|
|
|
|
|
* bg/hipe-fixes:
compiler: make ignore_native_errors also handle internal hipe errors
re tests: disable native-code compilation for huge modules
Teach the compiler the no_native option
|
|
|
|
* bg/cleanup-tests:
file_SUITE: eliminate a warning for an unused variable
kernel tests: modernize guard tests
unicode_SUITE: replace deprecated concat_binary/1 with list_to_binary/1
stdlib tests: modernize guard tests
Test suites: fix creation of Emakefiles
|
|
We must also catch exits, not only errors, since the hipe
compilers does an exit/1 if an internal error is found.
|
|
Two generated modules contains too big functions for the
native-code compiler to handle (even the BEAM compiler
struggles when compiling them).
|
|
Implement the 'no_native' option to disable native-code
compilation. If given in a module like this:
-compile(no_native).
it will override a 'native' option given on the command
line.
|
|
|
|
* ta/ensure_dir_eexist:
filelib_SUITE: strenghten tests of filelib:ensure_dir/1
Don't return a false {error,eexist} in filelib:ensure_dir/1
OTP-8389 Because of a race condition, using filelib:ensure_dir/1 from
multiple processes to create the same path or parts of the same
directory structure, filelib:ensure_dir/1 could return a
meaningless {error,eexist}. That race condition has been
eliminated, and {error,eexist} will now be returned only if there
exists a regular file, device file, or some other non-directory
file with the same name. (Thanks to Tuncer Ayaz.)
|