Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jun 2009 14:16:41 +0000 (UTC)
From:      Alexander Kabaev <kan@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/libexec/rtld-elf rtld.c rtld.h
Message-ID:  <200906201417.n5KEH07F015051@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
kan         2009-06-20 14:16:41 UTC

  FreeBSD src repository

  Modified files:
    libexec/rtld-elf     rtld.c rtld.h 
  Log:
  SVN rev 194531 on 2009-06-20 14:16:41Z by kan
  
  Allow order of initialization of loaded shared objects to be
  altered through their .init code. This might happen if init
  vector calls dlopen on its own and that dlopen causes some not
  yet initialized object to be initialized earlier as part of that
  dlopened DAG.
  
  Do not reset module reference counts to zero on final fini vector
  run when process is exiting. Just add an additional parameter to
  force fini vector invocation regardless of current reference count
  value if object was not destructed yet. This allows dlclose called
  from fini vector to proceed normally instead of failing with handle
  validation error.
  
  Reviewed by:    kib
  Reported by:    venki kaps
  
  Revision  Changes    Path
  1.136     +43 -46    src/libexec/rtld-elf/rtld.c
  1.43      +4 -2      src/libexec/rtld-elf/rtld.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906201417.n5KEH07F015051>