Improvements to fork handling (2/5)
Ryan Johnson
ryan.johnson@cs.utoronto.ca
Wed May 11 18:31:00 GMT 2011
Hi all,
This patch has the parent sort its dll list topologically by
dependencies. Previously, attempts to load a DLL_LOAD dll risked pulling
in dependencies automatically, and the latter would then not benefit
from the code which "encourages" them to land in the right places. The
dependency tracking is achieved using a simple class which allows to
introspect a mapped dll image and pull out the dependencies it lists.
The code currently rebuilds the dependency list at every fork rather
than attempt to update it properly as modules are loaded and unloaded.
Note that the topsort optimization affects only cygwin dlls, so any
windows dlls which are pulled in dynamically (directly or indirectly)
will still impose the usual risk of address space clobbers.
Ryan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fork-topsort.patch
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110511/8bc6b6de/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fork-topsort.changes
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110511/8bc6b6de/attachment-0001.ksh>
More information about the Cygwin-patches
mailing list