Subject: CVS commit: pkgsrc/lang
From: Aleksej Saushev
Date: 2012-04-12 14:14:13
Message id: 20120412121413.AF938175DF@cvs.netbsd.org

Log Message:
Update to Erlang/OTP R15B01
Presumably fixes PR pkg/46297

Changes in Erlang/OTP R15B01

Highlights:

  * Added erlang:statistics(scheduler_wall_time) to ensure
    correct determination of scheduler utilization. Measuring
    scheduler utilization is strongly preferred over CPU
    utilization, since CPU utilization gives very poor
    indications of actual scheduler/vm usage.
  * Changed ssh implementation to use the public_key application
    for all public key handling. This is also a first step for
    enabling a callback API for supplying public keys and
    handling keys protected with password phrases. Additionally
    the test suites where improved so that they do not copy the
    users keys to test server directories as this is a security
    liability. Also ipv6 and file access issues found in the
    process has been fixed.
  * When an escript ends now all printout to standard output and
    standard error gets out on the terminal. This bug has been
    corrected by changing the behaviour of erlang:halt/0,1,
    which should fix the same problem for other escript-like
    applications, i.e. that data stored in the output port
    driver buffers got lost when printing on a TTY and exiting
    through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has
    gotten improved semantics and there is a new BIF
    erlang:halt/2 to accomplish something like the old
    semantics. See the documentation.
  * The DTrace source patch from Scott Lystig Fritchie is
    integrated in the source tree. Using an emulator with dtrace
    probe is still not supported for production use, but may be
    a valuable debugging tool.
  * Added Torbjörn Törnkvists LDAP client as a new application
    called eldap.
  * Added options for the ssh client to support user keys files
    that are password protected.

Changes in Erlang/OTP R15B

Highlights:

  * Line number and filename information are now included in
    exception backtraces. This information will be
    pretty-printed in the shell and used in crash reports etc.
    In practice it will be much easier to find where something
    failed.
  * The driver interface has been changed to enable 64-bit aware
    drivers. Most importantly the return types for ErlDrvEntry
    callbacks 'call' and 'control' has been changed which
    require drivers to be changed.
  * New in this release is the support for 64 bit Windows.
    The self extracting installer can be found here.
  * CommonTest hooks are now in a final supported version.
  * There is a new GUI tool in the observer application which
    integrates pman, etop, appmon and tv into one tool. The tool
    does also contain functions for activating tracing in an easy way.
  * The Erlang distribution can now be run over the new SSL implementation.

Changes in Erlang/OTP R15A

Notable changes:

OTP-9468  'Line numbers in exceptions'

OTP-9451  'Parallel make'

OTP-4779  A new GUI for Observer. Integrating pman, etop and tv into
          observer with tracing facilities.

OTP-7775  A number of memory allocation optimizations have been
          implemented. Most optimizations reduce contention caused by
          synchronization between threads during allocation and
          deallocation of memory. Most notably:

             Synchronization of memory management in scheduler
             specific allocator instances has been rewritten to
             use lock-free synchronization.

             Synchronization of memory management in scheduler
	     specific pre-allocators has been rewritten to use
	     lock-free synchronization.

             The 'mseg_alloc' memory segment allocator now use
	     scheduler specific instances instead of one
	     instance. Apart from reducing contention this also
	     ensures that memory allocators always create memory
	     segments on the local NUMA node on a NUMA system.

OTP-9632  An ERTS internal, generic, many to one, lock-free
          queue for communication between threads has been
          introduced. The many to one scenario is very common in
          ERTS, so it can be used in a lot of places in the
          future. Currently it is used by scheduling of certain
          jobs, and the async thread pool, but more uses are
          planned for the future.

          Drivers using the driver_async functionality are not
	  automatically locked to the system anymore, and can be
	  unloaded as any dynamically linked in driver.

          Scheduling of ready async jobs is now also interleaved
	  in between other jobs. Previously all ready async jobs
	  were performed at once.

OTP-9631  The ERTS internal system block functionality has been
          replaced by new functionality for blocking the system.
          The old system block functionality had contention
          issues and complexity issues. The new functionality
          piggy-backs on thread progress tracking functionality
          needed by newly introduced lock-free synchronization
          in the runtime system. When the functionality for
          blocking the system isn't used, there is more or less
          no overhead at all. This since the functionality for
          tracking thread progress is there and needed anyway.

Files:
RevisionActionfile
1.51modifypkgsrc/lang/erlang/Makefile
1.13modifypkgsrc/lang/erlang/Makefile.versions
1.9modifypkgsrc/lang/erlang/PLIST
1.2modifypkgsrc/lang/erlang/PLIST.hipe
1.27modifypkgsrc/lang/erlang/distinfo
1.12modifypkgsrc/lang/erlang-doc/PLIST
1.9modifypkgsrc/lang/erlang-doc/distinfo
1.10modifypkgsrc/lang/erlang-man/PLIST
1.9modifypkgsrc/lang/erlang-man/distinfo
1.4modifypkgsrc/lang/erlang/patches/patch-ai
1.3modifypkgsrc/lang/erlang/patches/patch-am
1.1addpkgsrc/lang/erlang/patches/patch-lib_wx_configure
1.1addpkgsrc/lang/erlang/patches/patch-lib_wx_configure.in
1.1removepkgsrc/lang/erlang/patches/patch-erts_emulator_drivers_common_inet_drv.c