Permalink
Commits on Nov 17, 2011
  1. Merge branch 'siri/kernel/application-shutdown-timeout/OTP-9540'

    sirihansen committed Nov 17, 2011
    * siri/kernel/application-shutdown-timeout/OTP-9540:
      Add documentation and test for kernel env var shutdown_timeout
      Add env var shutdown_timeout to kernel to avoid deadlock on node shutdown
  2. Merge branch 'bjorn/erts/refc-binary-literals/OTP-9486'

    bjorng committed Nov 17, 2011
    * bjorn/erts/refc-binary-literals/OTP-9486:
      external.c: Remove the option to create over-sized heap binaries
      Allow refc binaries in literal pools
      code_SUITE clean-up: Remove experimental 'constant_pool' option
  3. Merge branch 'raimo/sctp-dev/OTP-9239'

    RaimoNiskanen committed Nov 17, 2011
    * raimo/sctp-dev/OTP-9239: (21 commits)
      erts: Possible bugfix for error chunk on old Solaris 10
      kernel: Documented gen_sctp:peeloff/2
      kernel: Adjust SCTP test to SuSE quirk
      erts: Fixes for SCTP on old Solaris 10
      Update preloaded files
      erts,kernel: Return eprotonosupport when SCTP is not supported
      kernel: Adjust SCTP tests to Solaris quirks
      erts: Fix SCTP decoding byteorder bug for adaptation_ind
      kernel: Rewrite SCTP test socket handler
      kernel: Fix SCTP tests for the FreeBSD protocol stack
      kernel: Bugfix - SCTP connect with sndrcvinfo in assoc_change event
      erts: Default enable SCTP in configure
      Update primary bootstrap and preloaded files
      erts: Use SCTP functions in default libs
      erts: Improve SCTP message defragmenting
      erts,kernel: Bugfix - collect fragmented SCTP messages on recv
      kernel: Add tests for gen_sctp:peeloff/2
      erts,kernel: Implement gen_sctp:peeloff/2
      kernel: Add tests for SCTP stream sockets
      erts,kernel: Add type stream sockets to SCTP
      ...
  4. kernel: Adjust SCTP test to SuSE quirk

    RaimoNiskanen committed Oct 18, 2011
    inet:port/1 on peeled off socket returns 0. Bug? Who's?
  5. Merge branch 'sverker/valgrind-fixing'

    sverker committed Nov 17, 2011
    * sverker/valgrind-fixing:
      erts: valgrind suppressions for prebuilt terms in os_info_init
      Fix dlopen-leak of drivers with incorrect version
      erts: Add valgrind suppression files
      erts: Remove valgrind limit for erts_alloc_permanent_cache_aligned
      erts: Fix write-after-free bug in inet driver
      ETS: Fix faulty size calculation SIZEOF_EXTSEG
      ETS: Fix valgrind PossiblyLost in ETS hash tables
  6. Update preloaded files

    RaimoNiskanen committed Nov 17, 2011
  7. erts,kernel: Return eprotonosupport when SCTP is not supported

    RaimoNiskanen committed Sep 28, 2011
    It is better that gen_sctp:open/0-2 returns the informative Posix
    return code {error,eprotonosupport} than previously {error,badarg}
    when SCTP is not supported since it is so platform dependent.
  8. kernel: Rewrite SCTP test socket handler

    RaimoNiskanen committed Sep 22, 2011
    The socket handler needs more flexibility regarding which events
    are expected to be received.
  9. kernel: Bugfix - SCTP connect with sndrcvinfo in assoc_change event

    RaimoNiskanen committed Sep 20, 2011
    On some platforms (FreeBSD) the #sctp_assoc_change{state=comm_up}
    event arriving during gen_sctp:connect/4,5 contains ancillary
    data #sctp_sndrcvinfo{}. That was not expected by the code.
  10. erts: Use SCTP functions in default libs

    RaimoNiskanen committed Sep 16, 2011
    On e.g FreeBSD the functions sctp_bindx() and sctp_peeloff() do not require
    any extra linkage library flags and there is no dynamic lib to load
    for them; use configure to find them.
  11. erts: Improve SCTP message defragmenting

    RaimoNiskanen committed Sep 15, 2011
    Receive several fragments within the same receive loop if possible.
  12. kernel: Add tests for SCTP stream sockets

    RaimoNiskanen committed Sep 2, 2011
    Also fix tests for new prim_inet:open function.
  13. external.c: Remove the option to create over-sized heap binaries

    bjorng committed Aug 24, 2011
    Since refc binaries are now supported in literal pools, there is no
    longer any need to allow the creation of over-sized heap binaries.
  14. Allow refc binaries in literal pools

    bjorng committed Aug 23, 2011
    To simplify the implementation of literal pools (constant pools)
    for the R12 release, a shortcut was taken regarding binaries --
    all binaries would be stored as heap binaries regardless of size.
    
    To allow a module containing literals to be unloaded, literal
    terms are copied when sent to another process. That means that
    huge literal binaries will also be copied if they are sent to
    another process, which could be surprising.
    
    Another problem is that the arity field in the header for the heap
    object may not be wide enough to handle big binaries.
    
    Therefore, bite the bullet and allow refc binaries to be stored
    in literal pools. In short, the following need to be changed:
    
    * Each loaded module needs a MSO list, linking all refc binaries
      in the literal pool.
    
    * When check_process_code/2 copies literals to a process heap,
      it must link each referenced binary into the MSO list for the
      process and increment the reference counter for the binary.
    
    * purge_module/1 must decrement the reference counter for each
      refc binary in the literal pool.
  15. Merge branch 'bjorn/erts/code-loading/OTP-9720'

    bjorng committed Nov 17, 2011
    * bjorn/erts/code-loading/OTP-9720:
      BEAM loader: Don't stop other schedulers until truly needed
      BEAM loader: Refactor code loading into separate functions
      beam_load.c: Factor out cleaning up of the loader state into free_state()
      BEAM loader: Clean up handling of error reasons
      Remove the useless -l option
      beam_load.c: Simplify handling of the bs_put_string_II instruction
      beam_load.c: Remove the unused struct LoadedCode
  16. BEAM loader: Don't stop other schedulers until truly needed

    bjorng committed Nov 10, 2011
    The erlang:module_load/2 BIF will stop all other schedulers
    before it starts to process the BEAM file. That is not a problem
    when starting the Erlang/OTP system, since the start-up is mostly
    sequential. It is a problem, however, when big BEAM files are
    loaded in an already running system.
    
    After the refactoring in the previous commits, we can now do most
    of the processing of the BEAM file before we stop the other schedulers,
    so that we can minimize the time when only one scheduler will be
    running.
    
    Suggested-by: Bob Ippolito
Commits on Nov 16, 2011
  1. Merge branch 'anders/diameter/release_R15A'

    Anders Svensson committed Nov 16, 2011
    * anders/diameter/release_R15A:
      Version -> 0.11, update appup, minor app suite fix
  2. Merge branch 'anders/diameter/app_suite_vs_sasl/OTP-9704'

    Anders Svensson committed Nov 16, 2011
    * anders/diameter/app_suite_vs_sasl/OTP-9704:
      Add sasl to app testcases to placate systools
  3. Merge branch 'fm/process_info_doc_fix'

    proxyles committed Nov 16, 2011
    * fm/process_info_doc_fix:
      Fix documentation for erlang:process_flag/2
    
    OTP-9714
  4. Merge branch 'rj/fix-net_kernel-doc'

    proxyles committed Nov 16, 2011
    * rj/fix-net_kernel-doc:
      Fixes net_kernel:get_net_ticktime() doc
    
    OTP-9713
  5. Merge branch 'siri/stdlib/improve-doc-restart-strategy/OTP-9381'

    sirihansen committed Nov 16, 2011
    * siri/stdlib/improve-doc-restart-strategy/OTP-9381:
      Improve documentation on supervisor restart strategy